Red de conocimiento informático - Conocimiento del nombre de dominio - Estoy buscando urgentemente un código C de 300-400 líneas. ¿Algún experto puede facilitarme un programa? . . . . ¡Gracias!

Estoy buscando urgentemente un código C de 300-400 líneas. ¿Algún experto puede facilitarme un programa? . . . . ¡Gracias!

Código fuente: implementación en lenguaje C para imprimir el triángulo de Yang Hui (código fuente)

El triángulo de Yang Hui es un triángulo:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

Este es esencialmente un binomio triangular de la forma (a+b) Los coeficientes de la enésima potencia están dispuestos en un triángulo, que se caracteriza porque tanto el lado izquierdo como el derecho son todos 1. A partir de la segunda fila, cada número en el medio es la suma de dos números adyacentes en la fila anterior. Esta pregunta se utiliza a menudo en ejercicios de programación.

A continuación se ofrecen seis soluciones diferentes.

Solución 1

#include

main()

{ int i,j,n=0 , a[17][17]={0};

while(n<1 || n>16)

{ printf( "Ingrese el número de líneas del formato angular triángulo :");

scanf("%d",&n);

}

for(i=0;i

a[i][0]=1

for(i=1;i

for( j=1;j< = i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

para ( i=0;i

{ for(j=0;j<=i;j++)

printf("%5d",a[i ] [ j]);

printf("/n");

}

}

}

Nota:

La solución 1 es la más fácil de imaginar. Cada parte tiene una función separada y el programa es superficial.

Solución 2

#include

main()

{ int i,j,n=0 , a[17][17]={1};

while(n<1 || n>16)

{ printf("Ingrese el número de filas de Yang Hui triángulos: ");

scanf("%d",&n);

}

for(i=1;i

{ a[i][0]=1

for(j=1;j<=i;j++)

a[ i][ j ]=a[i-1][j-1]+a[i-1][j];

}

for(i=0;i

{ for(j=0;j<=i;j++)

printf("%5d",a[i][j]);

printf("\n");

}

}

Nota: La solución 2 se basa en la Solución 1 y cambiará la primera columna El comando establecido en 1 se movió al bucle doble a continuación, reduciendo el número de bucles en uno. Tenga en cuenta los cambios en la matriz de inicialización.

Solución 3

#include

main()

{ int i,j,n=0 , a[17][17]={0,1};

while(n<1 || n>16)

{ printf("Ingrese el número de filas de Triángulos de Yang Hui:");

scanf("%d",&n);

}

for(i=1;i<=n ; i++)

for(j=1;j<=i;j++)

a[i][j]=a[i-1][j-1]+ a [i-1][j];

for(i=1;i<=n;i++)

{ for(j=1;j<=i;j++ ) printf("%5d",a[i][j]);

printf("\n");

}

}

Nota: La solución tres se basa en las soluciones uno y dos, eliminando el comando para establecer la primera columna en 1 y prestando atención a los cambios en la inicialización de la matriz.

Solución 4

#include

main()

{ int i,j,n=0 , a[17][17]={0,1};

while(n<1 || n>16)

{ printf("Ingrese el número de filas de Triángulos de Yang Hui:");

scanf("%d",&n);

}

for(i=1;i<=n ; i++)

{ for(j=1;j<=i;j++)

{ a[i][j]=a[ i-1][j-1 ] +a[i-1][j];

printf("%5d",a[i][j]); ("\n");

}

}

Nota: La solución 4 se basa en la Solución 3, combinando cálculo e impresión en un doble ciclo.

Solución 5

#include

main()

{ int i,j,n=0 , a[17]={1},b[17];

while(n<1 || n>16)

{ printf("Ingrese el número de filas de Triángulos Yang Hui: ");

scanf("%d",&n);

}

for(i=0;i

{ b[0]=a[0];

for(j=1;j<=i;j++)

b[j ] =a[j-1]+a[j];

for(j=0;j<=i;j++)

{ a[j]=b[j ]

printf("%5d",a[j]);

}

printf("\n");

}

}

Nota: Las soluciones 1 a 4 utilizan matrices bidimensionales, que ocupan más espacio. La solución cinco sólo utiliza dos matrices unidimensionales.

Solución VI

#include

main()

{ int i,j,n=0 , a[17]={0,1},l,r;

while(n<1 || n>16)

{ printf("Ingrese el número de filas de los triángulos Yang Hui:");

scanf("%d",&n);

}

for(i=1;i<= n ;i++)

{ l=0;

for(j=1;j<=i;j++)

{ r=a[j] ;

a[j]=l+r;

l=r;

printf("%5d",a[j]);

p>

}

printf("\n");

}

}

Comentarios: Solución 6 únicamente Se utiliza una matriz unidimensional y dos variables temporales.