Problemas de programación en lenguaje C en el primer grado de secundaria
Simplemente, defina dos matrices:
const int MAX=1000; //(Puede completar el tamaño según sea necesario)
int arrayA[MAX + 1], arrayB[MAX+1]; // Cuando el programa pueda ser depurado y aprobado, recuerde regresar y pensar por qué hizo +1 aquí
Luego inicialícelos:
for (int i=0;i<=MAX; i++)
arrayA[i]=arrayB[i]=0;
Luego comienza desde la segunda capa del triángulo , primero asuma un número, ya que el primer número es solo 1, ignórelo; comience desde el segundo nivel:
arrayA[ 0]=arrayA[1]=1; matriz A y luego complete el resultado del cálculo en la matriz B
No importa qué matriz, el primer número es 1, por lo que configuramos el elemento 0 de la matriz B en 1, y no es necesario volver a calcular más tarde.
arrayB[0]=1;
Deja que el usuario ingrese un número para determinar el número de niveles que queremos calcular (1 a MAX):
int number ;
printf("Ingrese un número (1~%d):", MAX);
scanf( "%d", &number);
Verifique el número, si no está en el rango de 1~MAX, generará un error y saldrá:
if (número<1 || número>MAX){
printf("¡Número no válido! \n");
exit(-1);
}
Si el número es 1, imprime uno línea de resultados y salida;
printf("1\n");
if(number==1) exit(0);
Si el el número es 2, imprime dos líneas Resultado y sale;
printf("1 1\n");
if(number==2) exit(0);
Para otros casos, es hora de calcular, comience a calcular ahora:
int i, Layer;
// El cálculo aquí es iterativo, por lo que depende del número de capas, es posible que sea necesario calcularlo varias veces <
for (layer=2;layer for (i=0;i /Recorra toda la matrizA e ingrese los resultados del cálculo en la segunda posición de la matrizB para comenzar a registrar los resultados del cálculo matrizB[i+ 1]=arrayA[i]+arrayA[i+ 1]; } //Después de completar el cálculo, copiamos el resultado a arrayA for (i=0;i arrayA[i]=arrayB[i]; } //Finalmente genera los datos de esta capa nuevamente for (i=0;i printf("% d ", arrayA[i]); } } } Básicamente, está todo aquí (por supuesto, no No espere ejecutar el código directamente si falta. No hay muchas líneas), inténtelo. Espero que el autor no decepcione a las personas impacientes ^_^ Si puede obtener uno básico, puede resolverlo fácilmente con solo pensar un poco. Si tiene problemas con los punteros, si no sabe mucho al respecto, primero puede almacenar datos como definir una matriz global. Las dos funciones de clasificación y búsqueda operan directamente. esta matriz. Una vez ajustado el programa, puede considerar cambiarlo a un puntero. ¡Simplemente hazlo!