Algoritmo de programa clásico en lenguaje C
100 Ejemplos de Programas Fuente C Clásicos
Programa 1
Título: Hay 1, 2, 3 y 4 números ¿Cuántos números diferentes pueden haber? ¿Tres dígitos sin dígitos repetidos? ¿Cuantos son?
1. Análisis del programa: Los números que se pueden completar en las centenas, decenas y unidades son todos 1, 2, 3 y 4. Después de componer todas las permutaciones,
elimine las permutaciones que no cumplan las condiciones.
2. Código fuente del programa:
main()
{
int i, j, k
<; p>printf("\n");for(i=1;ilt;5;i) /*El siguiente es un bucle triple*/
for(j= 1; jlt; 5; j )
para (k=1; klt; 5; k )
{
si (i!=kamp; amp ; i !=jamp;amp;j!=k) /*Asegúrese de que i, j y k sean diferentes entre sí*/
printf("d, d, d\n", i , j, k
}
}
===================== ===== =====================================
Programa 2
Título: Los bonos emitidos por las empresas se basan en comisiones de ganancias. Cuando el beneficio (I) es inferior o igual a 100.000 yuanes, la bonificación puede aumentarse en 10 RMB; para la parte superior a 100.000 yuanes, la comisión puede ser del 7,5%; para la parte entre 200.000 y 400.000 yuanes, la comisión puede ser del 7,5%; ser del 5% para la parte superior a 200.000 yuanes; para la parte entre 400.000 y 600.000 yuanes, la comisión puede llegar a 5. Para la parte superior a 400.000 yuanes, está disponible una comisión de 3 por; la porción entre 600.000 y 1 millón, la comisión es 1,5 para la porción superior a 600.000 yuanes, y para la porción superior a
1 millón de yuanes, la porción que exceda 1 millón de yuanes se cobrará por 1. Ingrese la ganancia I del mes desde el teclado. ¿Cuál es el número total de bonos que se deben repartir?
1. Análisis del programa: utilice el eje numérico para dividir y ubicar. Tenga en cuenta que la bonificación debe definirse como un número entero al definir.
2. Código fuente del programa:
main()
{
long int i; bonificación1, bonificación2, bonificación4, bonificación6, bonificación10, bonificación;
scanf("ld", amp; i);
bonificación1=100000*0,1; bonificación2=bonificación1 100000*0,75;
bonificación4=bonificación2 200000*0,5;
bonificación6=bonificación4 200000*0,3
bonificación10=bonificación6 400000*0,15; (ilt;=100000)
bono=i*0.1
else if(ilt;=200000)
bono=bonus1 (i-100000)* 0,075;
más si(ilt;=400000)
bonificación=bonus2 (i-200000)*0,05
más si(ilt;=600000)
bonus=bonus4 (i-400000)*0.03;
else if(ilt;=1000000)
bonus=bonus6 (i-600000)*0.015 ;
else
bono=bonus10 (i-1000000)*0.01;
printf("bonus=d", bono
<); p>}========================================= == ======================
Programa 3
Título: Un número entero, después de sumar 100, es un número cuadrado perfecto, más 168 es otro número cuadrado perfecto.
1. Análisis del programa: para determinar dentro de 100.000, primero agregue 100 al número antes de prescribir, luego agregue 268 al número antes de prescribir, si después de prescribir
El resultado desatisface el siguientes condiciones, ese es el resultado.
Consulte el análisis específico:
2. Código fuente del programa:
#include "math.h"
main()
{
long int i, x, y, z;
for (i=1; ilt; 100000; i)
{ x=sqrt(i) 100 ); /*x es el resultado después de sumar 100 y sacar la raíz cuadrada*/
y=sqrt(i 268); /*y es el resultado después de sumar 168 y sacar la raíz cuadrada*/ p>
if(x*x==i 100amp;amp;y*y==i 268)/*Si el cuadrado de la raíz cuadrada de un número es igual al número, esto significa que el número es un número cuadrado perfecto*/ p>
printf("\nld\n", i
}
}
=); ========= =========================================== ========= ==
Programa 4
Pregunta: Ingrese un determinado año, un determinado mes y un determinado día, y determine qué día del año este día es?
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 <; /p>
printf("\ningrese año, mes, día\n");
scanf("d, d, d", amp; año, amp; mes, amp; día );
switch(month)/*Primero calcula el número total de días del mes anterior*/
{
caso 1: suma=0; romper;
caso 2: suma=31;
caso 3: suma=59;
caso 4: suma=90;
p>
caso 5: suma=120;
caso 6: suma=151
caso 7: suma=181; ; romper;
caso 8: suma=212;
caso 9: suma=243; 11:29 Responder a esta afirmación
------------------------------------ --------- ------------------------------------
2 100 ejemplos de programas fuente en C
caso 10: suma=273;
caso 11: suma=304
caso; 12: suma=334; descanso;
p>
predeterminado: printf("error de datos"); day; /*Agrega el número de días en un día determinado*/ p>
if(year400==0||(year4==0amp;amp;year100!=0))/*Juzga si es así. un año bisiesto*/
salto=1
else
salto=0
if(leap==1amp;amp; ;monthgt;2)/*Si es año bisiesto y el mes es mayor a 2, se debe agregar un día al número total de días */
sum
printf("Es el día désimo.",suma);}
========== =================== ================================ ==
Programa 5
Título: Ingrese tres números enteros x, y, z. Genere estos tres números 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 con y, si xgt;y luego intercambiamos los valores de x e y,
Luego compare x con z. Si xgt;z, intercambie los valores de x y z para minimizar x.
2. Código fuente del programa:
main()
{
int x, y, z, t
scanf("ddd",amp;x,amp;y,amp;z
if (xgt;y)
{t=x;x=); y;y=t;} /*Intercambiar el valor de x, y*/
if(xgt;z)
{t=z;z=x;x=t }/*Intercambiar el valor de x, z*/
if(ygt;z)
{t=y;y=z;z=t;}/*Intercambiar z, Valor de y*/
printf("de pequeño a grande: d d d\n", x, y, z
}
==); == ================================================== == ========
Programa 6
Título: Utilice el signo * para generar el patrón de la letra C.
1. Análisis del programa: 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 "stdio.h"
main()
{
printf("¡Hola mundo C!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n"
}
==================================================== ============
Programa 7
Título: Genera patrones especiales, ejecútelo en el entorno c y eche un vistazo, ¡Muy hermoso! / p>
1. Análisis del programa: Hay 256 caracteres. Diferentes personajes tienen diferentes gráficos.
2. Código fuente del programa:
#include "stdio.h"
main()
{
char a=176, b=219;
printf("ccccc\n", b, a, a, b); ", a, b, a, b, a);
printf("ccccc\n", a, a, b, a, a);
printf("ccccc \n",a,b,a,b,a);
printf("ccccc\n",b,a,a,a,b);}
= ==================================================== ===========
Programa 8
Título: Fórmula de salida 9*9.
1. Análisis del programa: considere filas y columnas, ***9 filas y 9 columnas, i controla filas, j controla columnas.
2. Código fuente del programa:
#include "stdio.h"
main()
{
int i, j, resultado;
printf("\n");
for (i=1; ilt; 10; i)
{ for(j=1;jlt;10;j)
{
resultado=i*j
printf("d*d=-3d; ", i, j, resultado); /*-3d significa alineado a la izquierda, ocupando 3 bits*/
}
printf("\n"); /*Después de cada línea Salto de línea*/
}
}
======================= == ======================================
Programa 9
Título: Solicitud para generar un tablero de ajedrez.
1. Análisis del programa: use i para controlar filas, j para controlar columnas y controle la salida de cuadrados negros o cuadrados blancos de acuerdo con los cambios en la suma de i y j.
2. Código fuente del programa:
#include "stdio.h"
main()
{
int i, j;
for(i=0;ilt;8;i)
{
for(j=0;jlt;8 ; j )
if((i j)2==0)
printf("cc", 219, 219
else
);printf(" ");
printf("\n"
}
}
=== ==================================================== =========
Programa 10
Título: Imprime las escaleras e imprime dos caras sonrientes encima de las escaleras.
1. Análisis del programa: utilice i para controlar las filas, j para controlar las columnas y j para controlar el número de cuadrados negros de salida según los cambios en i.
2. Código fuente del programa:
#include "stdio.h"
main()
{
int i, j;
printf("\1\1\n"); /*Generar dos caras sonrientes*/
for(i=1; ilt; 11 ;i)
{
for(j=1;jlt;=i;j)
printf("cc", 219, 219); /p>
printf("\n");
}
}
Autor: zhlei81 2005-1-22 11:29 Responder a este discurso
----------------------------------------- ------- ------------------------------------------- ----
3 Respuesta: Clásico C 100 ejemplos de programas fuente
Programa 11
Título: Problema clásico: Hay un par de conejos. dar a luz un par de conejos cada mes a partir del tercer mes después del nacimiento. Los conejitos crecen hasta Después del tercer mes, nace otro par de conejos cada mes. Si los conejos no mueren, ¿cuál es el número total de conejos cada uno? ¿mes?
1. Análisis del programa: El patrón de los conejos es la secuencia 1, 1, 2, 3, 5, 8, 13, 21....
2. :
main()
{
long f1, f2
int i; f2= 1;
for(i=1;ilt;=20;i)
{ printf("12ld 12ld", f1, f2); > if (i2==0) printf("\n"); /*Salida de control, cuatro por línea*/
f1=f1 f2 /*Suma los primeros dos meses y asigna el valor a el tercero Mes*/
f2=f1 f2 /*Suma los dos primeros meses y asigna el valor al tercer mes*/
}
}
=========================================== ==== ================
Programa 12
Título: Determina cuántos números primos hay entre 101-200, y genera todos los números primos.
1. Análisis del programa: Método para juzgar números primos: use un número para dividir 2 en sqrt (este número) respectivamente. Si se puede dividir en partes iguales,
significa que. un número no es un número primo y viceversa es un número primo.
2. Código fuente del programa:
#include "math.h"
main()
{
int m, i, k, h=0, salto=1;
printf("\n"); for(m=101;mlt;=200; m )
{ k=sqrt(m 1);
for(i=2;ilt;=k;i)
if(mi== 0)
{salto=0; romper;}
if(salto) {printf("-4d", m); h10==0)
printf("\n");
}
salto=1
}
printf("\nEl total es d", h
}
==================); =============================================
Programa 13
Título: Imprime todos los "números de narciso" El llamado "número de narciso" se refiere a un número de tres dígitos cuya suma cúbica es igual al número
> mismo. Por ejemplo: 153 es un "número narciso" porque 153 = 1 al cubo + 5 al cubo + 3 al cubo.
1. Análisis del programa: utilice un bucle for para controlar entre 100 y 999 números y descomponga cada número en unidades, decenas y centenas.
2. Código fuente del programa:
main()
{
int i, j, k, n
printf("El número de 'flor de agua' es:");
for(n=100;nlt;1000;n)
{
i=n/100;/*Descomponer en centenas*/
j=n/1010;/*Descomponer en decenas*/
k=n10;/*Descomponer en decenas posición única*/
if(i*100 j*10 k==i*i*i j*j*j k*k*k)
{
printf("-5d", n);
}
}
printf("\n");
=========================================== = ===================
Programa 14
Título: Descomponer un número entero positivo en factores primos. Por ejemplo: ingrese 90, imprima 90 = 2*3*3*5.
Análisis del programa: para descomponer n en factores primos, primero debe encontrar un número primo mínimo k y luego completar los siguientes pasos:
(1) Si este número primo es exactamente igual a n, significa que el proceso de descomposición de factores primos ha finalizado, simplemente imprímalo.
(2) Si nlt;gt;k, pero n es divisible por k, el valor de k debe imprimirse y n debe dividirse por el cociente de k, como el nuevo entero positivo n ,
(2) p>
Repita el paso uno.
(3) Si n no es divisible por k, use k 1 como valor de k y repita el primer paso.
2. Código fuente del programa:
/* zheng int se divide yinshu*/
main()
{
int n, i;
printf("\ningrese un número:\n");
scanf("d", amp;
p>
printf("d=",n);
for(i=2;ilt;=n;i)
{ p>
mientras(n!=i)
{
si(ni==0)
{ printf("d*",i
n=n/i
}
más
romper
} p>
}
printf("d",n);}
===================== ====== =====================================
Programa 15
Título: Utilice el anidamiento de operadores condicionales para completar esta pregunta: Los estudiantes con rendimiento académico = 90 puntos están representados por A, los estudiantes con puntajes entre 60-89 están representados por B,
60 puntos Los siguientes están representados por C.
1. Análisis del programa: (agt; b)?a: b Este es un ejemplo básico de un operador condicional.
2. Código fuente del programa:
main()
{
puntuación int
calificación de caracteres; ;
printf("ingrese una puntuación\n");
scanf("d", puntuación
calificación=scoregt;= 90? 'A': (scoregt;=60?'B':'C');
printf("d pertenece a c", puntuación, calificación
} p>
============================================== = ===================
Programa 16
Título: Ingrese dos enteros positivos myn, y encuentre su mayor números de denominador común y mínimo común múltiplo.
Autor: zhlei81 2005-1-22 11:30 Responder a esta afirmación
--------------------- -------------------------------------------------- --------
4 Respuesta: 100 ejemplos de programas fuente C clásicos
1. Análisis del programa: utilice el método de evaporación.
2. Código fuente del programa:
main()
{
int a, b, num1, num2, temp <; /p>
printf("ingrese dos números:\n");
scanf("d, d", amp; num1, amp; num2); if(num1 { temp=num1;
num1=num2;
num2=temp;
}
a=num1;b =num2;
while(b!=0)/*Usa el método rodante hasta que b sea 0*/
{
temp=ab < / p>
a=b;
b=temp;
}
printf("gongyueshu: d\n", a); p>
printf("gongbeishu:d\n",num1*num2/a
}
============); ==================================================
Programa 17
Título: Ingrese una línea de caracteres y cuente el número de letras, espacios, números y otros caracteres en inglés que contiene
1. : Usando la declaración while, la condición es que el carácter de entrada no sea '\n'
2. Código fuente del programa:
#include "stdio.h"
main()
{char c;
int letras=0, espacio=0, dígito=0, otros=0
printf("ingrese algunos caracteres\n");
while((c=getchar())!='\n')
{
if(cgt; ='a'amp;amp;clt;='z'||cgt;='A'amp;amp;clt;='Z')
letras
else if(c==' ')
espacio
else if(cgt;='0'amp;amp;clt;='9') p>
dígito;
else
otros
}
printf("en total: char=d espacio =d dígito= d otros=d\n", letras,
espacio, dígito, otros);
}
======= ===== ============================================== ===== =
Programa 18
Título: Encuentra el valor de s=a aa aaa aaaa aa...a, donde a es un número. Por ejemplo, 2 22 222 2222 22222 (en este momento
***se agregan 5 números), y la suma de varios números se controla mediante el teclado.
1. Análisis del programa: La clave es calcular el valor de cada ítem.
2. Código fuente del programa:
main()
{
int a, n, count=1
long int sn=0, tn=0;
printf("ingrese a y n\n");
scanf("d, d", amp ;a,amp;n);
printf("a=d,n=d\n",a,n); p>
p>
{
tn=tn
sn=sn tn
a=a*10; p>
recuento;
}
printf("a aa ...=ld\n",
}
= ============================================== ===== ===========
Programa 19
Título: Si un número es exactamente igual a la suma de sus factores, el número es llamado "número perfecto". Por ejemplo, 6=1+2+3 Programación
Encuentra todos los números perfectos hasta 1000.
1. Análisis del programa: consulte el programa lt;--Programa 14 en la página anterior
2. )
{
static int k[10];
int i, j, n, s; 2; jlt; 1000; j )
{
n=-1;
s=j; 1;i {
if((ji)==0)
{ n
s=s-i
k[ n]=i
}
}
si(s==0)
{
printf("d es un wanshu",j);
for(i=0;i printf("d,",k[i]);
printf( "d\n", k[n]);
}
}
}
======= ======= ============================================ ======
Programa 20
Problema: Una pelota cae libremente desde una altura de 100 metros. Cada vez que golpea el suelo, rebota hasta la mitad de su original. altura; si vuelve a caer, encuentra su posición
¿Cuántos metros recorrió *** cuando aterrizó por décima vez?
1. p>
2. Código fuente del programa:
main()
{
float sn=100.0, hn=sn/2; >
int n;
for(n=2;nlt;=10;n)
{
sn=sn 2*hn;/ *metros recorridos por *** al aterrizar por enésima vez Número*/
hn=hn/2 /*enésima altura de rebote*/
}
printf("el total del camino es f \n", sn);
printf("el décimo es f metro\n", hn
}
Autor: zhlei81 2005-1 -22 11:30 Responder a esta declaración
------------------------ ---------- ---------------------------------------- -----