Red de conocimiento informático - Aprendizaje de código fuente - Informes numéricos (lenguaje C)

Informes numéricos (lenguaje C)

Método 1:

#includelt;stdio.hgt;

void main()

{int a[100][100 ], n, m, i, j; /*a[100][100] es solo una matriz establecida aleatoriamente, que se puede aumentar o reducir si es necesario*/

K: scanf(" d : d", amp; n, amp; m); /* Preste atención al formato de entrada. El ":" indica que la relación entre los dos es la relación de "número de informe - obtener número" */

if(ngt; 0amp; amp; mgt; 0)

{for(i=1;ilt;=n;i)

a[1][ i]= i;

for(i=1;ilt;=n;i)

{for(j=m(n 1-i) 1;jlt;=( n 1- i); j) /* Toma el primer elemento de la derecha después de tomar el resto como el primer elemento del siguiente número y auméntalo en secuencia*/

a[i 1][ j-m(n 1-i) ]=a[i][j];

for(j=1;jlt;=m(n 1-i);j) /*El primer elemento del que queda después de tomar el resto se usará como el siguiente Cuente el último elemento,

a[i 1][(n 1-i)-m(n 1-i) j]=a[i] [j]; Disminuir a su vez; y Los números obtenidos se colocan en la capa exterior del siguiente número a su vez*/

printf("f(d:d)(d)=d\n" , n, m, i, a[i 1][(n 1-i)]);}} /*Ingrese el número obtenido al informar cada vez*/

else printf("¡Sin efecto! \n");

p>

goto K; /*la declaración goto permite al programa volver a ingresar otras situaciones, como "13:3" significa 13 personas, cada vez que se informa 3 veces, una la persona sale*/

getch( );

Método 2:

#stdio.hgt

void main( )

{int a[100 ],i,j,n,m;

K: scanf("d:d",amp;n,amp;m);

for(i=1;ilt ;=n;i)

a[i]=i;

for(j=0,i=1; ilt;=n;i=in,i) /* i=in se usa para darse cuenta de que cuando llegue a n desde 1, volverá a 1*/

{if(a[i]! =0) {j; if(jm==0) printf( "f(d)=d\n",j/m,a[i]),a[i]=0;}

if(j/m==n) break;} /* Cuente repetidamente, marque el número contado como 0 y no lo cuente la próxima vez*/

goto K;

obtener();}