100 preguntas sobre programación en lenguaje C, ¿alguien puede ayudarme?
Hola, 100 preguntas clásicas del lenguaje C:
Programa 1
Pregunta: Hay 1, 2, 3 y 4 números. ¿Cuántas interacciones pueden haber? ¿Cuáles son los números de tres dígitos que son diferentes y no tienen números repetidos?
1. Análisis del programa: Los números que se pueden completar con centenas, decenas y unidades. los dígitos son todos 1 y 2, 3, 4. Después de componer todos los arreglos, elimine los que no cumplan con las condiciones.
2.
main()
{
int
i,j,k;
printf("\n");
for(i1;i<5;i++)
/*El siguiente es un bucle triple*/
for(j1;j<5;j++ )
para
(k1;k<5;k++)
{
si
(yo !k&&i!j&&j!k) p>
/*Asegúrese de que los tres dígitos i, j y k sean diferentes entre sí*/
printf("%d,%d ,%d\n",i,j,k);
}
}
Procedimiento 2
Título: Los bonos emitidas por la empresa se basan en las comisiones de ganancias La ganancia (i) es menor o igual a 10 Cuando la ganancia es superior a 100.000 yuanes, la bonificación se puede aumentar en un 10% cuando la ganancia es superior a 100.000 yuanes; es inferior a 200.000 yuanes, la bonificación es del 10% para la parte inferior a 100.000 yuanes y la bonificación es del 10% para la parte superior a 100.000 yuanes, la comisión del cacao es del 7,5% cuando está entre 200.000 y 400.000 yuanes; es del 5 % para la parte superior a 200 000 yuanes; cuando está entre 400 000 y 600 000 yuanes, es superior
Para la parte superior a 400 000 yuanes, está disponible una comisión del 3 % para la parte entre 600 000 y 600 000 yuanes; 1 millón, la comisión es del 1,5% para la parte superior a 600.000 yuanes y para la parte superior a 1 millón de yuanes, la comisión es del 1,5%. La parte superior a 1 millón de yuanes está sujeta a una comisión del 1%. desde el teclado para encontrar el número total de bonificaciones que se distribuirán
1. Análisis del programa: utilice el eje numérico para dividir y ubicar los límites. Tenga en cuenta que la bonificación debe definirse al definir el número entero creciente.
2. Código fuente del programa:
main()
{
long
int
i;
int
bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld" ,&i);
bonus1100000*0.1;bonus2bonus1+100000*0.75;
bonus4bonus2+200000*0.5;
bonus6bonus4+200000*0.3;
bono10bonus6+400000*0.15;
if(i<100000)
bonusi*0.1;
else
si (i<200000 )
bonusbonus1+(i-100000)*0.075;
else
if(i<400000)
bonusbonus2+ (i-200000 )*0.05;
else
if (i<600000)
bonusbonus4+(i-400000)*0.03;
else
if(i<1000000)
bonusbonus6+(i-600000)*0.015;
else
bonusbonus1(i -1000000)* 0.01;
printf("bonus%d",bonus);
}
Programa 3
Pregunta: Un número entero, después de sumar 100, se convierte en un número cuadrado perfecto, y cuando se suma a 168, se convierte en un número cuadrado perfecto.
1. Primero agregue 100 al número antes de tomar el cuadrado, luego agregue 268 al número y luego tome el cuadrado. Si el resultado después de tomar el cuadrado cumple con las siguientes condiciones, consulte el análisis específico.
2. Código fuente del programa:
#include
"math.h"
main()
{ p>
largo
int
i,x,y,z;
for
(i1 ;i2)/ *Si es año bisiesto y el mes es mayor a 2, se debe sumar un día al total de días*/
sum++;
printf("it p>
es p>
el
%dth
día.",sum);}
Programa 4
Título: Ingrese un determinado En un determinado día del año y mes, determine qué día del año es este día.
1. Análisis del programa: Tomando como ejemplo el 5 de marzo, primero se deben sumar los dos meses anteriores y luego sumar 5 días, que es el día del año, especial
En caso de año bisiesto y el mes de entrada sea mayor a 3, se deberá considerar un día extra.
2. Código fuente del programa:
main()
{
int
día,mes, año,suma,salto;
printf("\npor favor
ingrese
año,mes,día\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*Primero calcula el número total de días del mes anterior*/
{
caso
1:sum0;romper;
caso
2:sum31;romper;
caso
3:sum59;romper;
caso
4:sum90;romper;
caso
5:sum120;romper;
caso
6:sum151;romper;
caso
7:sum181;romper ;
caso
8:sum212;break;
caso
9:sum243;break;
caso
10:sum273;break;
caso
11:sum304;break;
caso
12: suma334;descanso;
default:printf("datos
error");descanso;
}
suma+día ;
/*Agregar el número de días en un día determinado*/
if(year%4000||(year%40&&year%100!0))/*Juzgar si es un año bisiesto*/
salto1;
else
salto0;
if(salto1&&month>2)/*Si es un año bisiesto y el mes es mayor que 2, al número total de días se debe agregar un día*/
sum++;
printf("It
es
el
%dth
día.",sum);}
Programa 5
Título : Ingrese tres números enteros x, y, z. Convierta estos tres números mediante Salida de pequeño a grande.
1. Análisis del programa: encontramos una manera de poner el número más pequeño en x, primero comparamos x y. y, y si x>y, intercambia los valores de x e y,
Luego compara x y z, si x>z, intercambia los valores de x y z. , para que x pueda minimizarse.
2. Código fuente del programa:
main()
{
int
x,y,z,t;
scanf( "%d%d%d",&x,&y,&z);
si
(x>y)
{tx;xy;yt; }
/*Intercambiar los valores de x, y*/
if (x>z)
{tz;zx;xt;}/*Intercambiar x , el valor de z*/
if(y>z)
{ty;yz;zt;}/*Intercambiar el valor de z,y*/
printf("pequeño
a
grande: p>
%d
%d
%d\ n",x,y,z);
}
Programa 6
Título: Utilice el signo * para generar el patrón de la letra c.
1.Programa
Análisis: primero puede escribir la letra c en el papel con el signo '*' y luego generarla en líneas separadas.
2. Código fuente del programa:
#include<. /p>
"stdio.h"
main()
{
printf("hola
c-world !\n");
printf("
****\n");
printf("
* \n");
printf("
*
\n");
printf("
**** \n");
}
Programa 7
Título: Patrón especial de salida, ejecútelo en un entorno c, tome una mira, muy
¡Hermoso!
1. Análisis del programa: hay 256 caracteres diferentes con gráficos diferentes.
2. p>
#include
"stdio.h"
main()
{
char
a176,b219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf( "% c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n", a, a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);}
Programa 8
Título: Salida 9 *9 fórmula.
1. Análisis del programa: considere filas y columnas, ***9 filas y 9 columnas, i controla las filas, j controla las columnas.
2. código fuente:
#include
"stdio.h"
main()
{
int
i,j,resultado;
printf("\n");
for
(i1;i<10; i++)
{
for(j1;j<10;j++)
{
resultado*j;
printf("%d*%d%-3d",i,j,result);/*-3d significa alineación a la izquierda, ocupa 3 bits*/
}
printf( "\n");/*Nueva línea después de cada línea*/
}
}
Programa 9
Título: Solicitar salida de tablero de ajedrez.
1. Análisis del programa: use i para controlar las filas, j para controlar las columnas y controle la salida de cuadrados negros o blancos según el cambio de la suma de i+j.
2. Código fuente del programa:
#include
"stdio.h"
main() p>
{ p>
int
i,j;
for(i0;i<8;i++)
{
for (j0;j<8;j++)
if((i+j)%20)
printf("%c%c", 219,219);
else
printf("
");
printf("\n");
}
}
Programa 10
Título: Imprime escaleras e imprime dos caras sonrientes encima de las escaleras al mismo tiempo.
1. Análisis del programa: use i para controlar la línea, j para controlar la columna, j para controlar el número de cuadrados negros de salida según el cambio de i.
2. /p>
#inc
lude
"stdio.h"
main()
{
int
i,j;
printf("\1\1\n");/*Generar dos caras sonrientes*/
for(i1;i<11;i++)
{
for(j1;j
printf("%c%c",219,219);
printf("\n ");
}
}
Programa 11
Título: Problema clásico: Hay un par de conejos, el tercero desde el nacimiento Un par de conejos nace cada mes a partir del mes y los conejos crecen hasta el tercer mes.
Después de eso, nace otro par de conejos cada mes si los conejos no mueren. ¿Cuál es el número total de conejos cada mes?
1 Análisis del programa:
El patrón de conejos es la secuencia 1,1,2,3,5,8,13, 21....
2. Código fuente del programa:
main()
{
largo
f1,f2;
int
i;
f1f21;
for(i1;i<20;i++) p>
{
printf("%12ld
%12ld",f1,f2);
if(i%20)
printf("\n"); /*Salida de control, cuatro por línea*/
f1f1+f2;
/*Agregue los primeros dos meses y asigne el valor al tercer mes*/
f2f1+f2;
/*Suma los dos primeros meses y asigna el valor al tercer mes*/
}
}
Programa 12
Título: Determinar cuántos números primos hay entre 101 y 200 y generar todos los números primos.
1. Análisis del programa: Método para juzgar números primos: use un número para determinar Divida 2 en sqrt (si este número es divisible, significa que el número no es un número primo; de lo contrario). es un número primo.
2. Código fuente del programa:
#include
"math.h"
main()
{
int
m ,i,k,h0,leap1;
printf("\n"); p>
for(m101;m<200;m++)
{
ksqrt(m+1);
for(i2;i< k;i++)
if(m%i0)
{salto0;break;}
if(salto)
{printf ("%-4d",m);h++;
if(h%100 )
printf("\n");
} p>
salto1;
}
printf( "\nel
total
es
%d",h);
}