Red de conocimientos turísticos - Información de alquiler - Ejemplos de referencia de programación C de nivel 3

Ejemplos de referencia de programación C de nivel 3

Se sabe que el archivo de datos IN.DAT contiene 200 números de cuatro dígitos y se llama a la función de lectura readDat () para almacenar estos números en la matriz a. Los candidatos deben preparar una función jsVal(). Su función es: si el número de cada persona de cuatro dígitos es 0 o 2 o 4 o 6 u 8, entonces calcule el número de números cnt que cumplen esta condición y ordénelos. desde el más grande Almacene estos números de cuatro dígitos en la matriz b en orden descendente. Finalmente, la función main() llama a la función de escritura writeDat() para generar el resultado cnt y el cuaternión que satisface las condiciones de la matriz b en OUT.DAT.

Nota: Se entrega parte del programa.

Las matrices a[200], b[200] están definidas en el programa; variable: cnt está definida.

No cambie ningún dato en el archivo de datos IN.DAT ni el contenido de la función principal main(), la función de lectura readDat y la función de escritura writeDat().

(Debido a que aquí no hay ningún archivo de datos IN.DAT, los lectores copiarán el programa y el programa se compilará pero no se ejecutará)

#include

#define MAX 200

int a[MAX], b[MAX], cnt = 0;

void jsVal()

{

int m,j,k,gg,ss,bb,qq,data;

for(m=0;m<200;m++)

{qq= a[m]/1000;

bb=a[m]%1000/100;

Ss=a[MAX], cnt = 0.

ss=a[m]%100/10;

gg=a[m]%10;

if(qq%2==0&&bb%2==0&&ss %2= =0&&gg%2==0)

{

b[cnt] =a[m];

cnt++;

}

m++;

}

for(j=0;j

for( k=j +1;k

if(b[j]

{

datos=b [k];

b[k]=b[j];

b[j]=datos;

}

}

void readDat()

{

int i;

ARCHIVO *fp;

fp = fopen(IN. DAT.DAT, r);

for (i=0; i

fscanf(fp, %d ,, &a [i]);

fclose(fp);

}

void writeDat ()

{

ARCHIVO *fp;

int i;

fp = fopen(OUT.DAT, w);

fprintf(fp, %d\ n, cnt );

for (i=0; i

fprintf(fp, %d\n, b[i]);

fclose(fp);

}

void main()

{

int i;

readDat ();

jsVal();

printf (número que satisface la condición = %d\n, cnt);

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

printf(%d, b[i]);

printf(\n);

writeDat();

}

El resultado de la operación anterior es:

El número que cumple la condición = 4

6662 4602 2668 2264

La respuesta correcta debe ser:

El número que cumple las condiciones = 6

6662 6604 4602 2842 2668 2664

(Generalmente use software de puntuación para puntuar)

Esta pregunta vale 100 puntos.

La línea 5 debe ser: 2842, el resultado es incorrecto;

La línea 6 debe ser: 2668, el resultado es incorrecto;

La línea 7 debe ser: 2264, el resultado es incorrecto;

Esta pregunta *** debería generar 7 filas de datos y 1 fila de datos con resultados correctos, un total de 14 puntos.

Si el programa no se compila correctamente o no genera un archivo ejecutable, se le otorgarán directamente 0 puntos. Por lo tanto, en las puntuaciones de los exámenes en línea, se asignan proporciones relativamente grandes a 0 puntos y 100 puntos.

void jsVal()

{

int bb[4];

int i, j, k, bandera;

int bb[4];

int i, j, k, bandera;

p>

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

{

bb[0] = a[i]/1000;

bb[1] = a[i]%1000/100;

bb[2] = a[i]%100/10;

bb[3] = a[ i]%10;

para (j= 0; j<4; j++)

{

si (bb[j]%2 == 0 )

{

bandera = 1;

}

de lo contrario

{

bandera = 0;

romper;

}

}

}

si (bandera == 1)

{

b[cnt] = a[i];

cnt++;

}

}

para (i =0; i

para (j=i+1; j

si (b[i] < b[j] )

{

k = b[i];

b[i] = b[j];

b[j ] = k;

}

}