Preguntas reales del examen de nivel 2 de computadora C

# incluir & ltstdio.h & gt

# incluir & ltmath.h & gt

int isprime(int n){

int I;

for(I = 2;i<n;i++)

Si (n%i==0)

Devuelve 0;

Devuelve 1;

}

int prime_m(int n, int x[], long y[]){

int m, j=0, s[ 20] ={0}, a;

龙M, rei

for(m = 2; m & lt= n; m++){

M =( long)pow(2,m)-1;

While(isprime(M)){ // si, aquí no se debe usar While.

rei = M;

a = 0;

Blanco (rei)

{ s[a]= rei % 10;

rei = rei/10;

a++;

}

printf("%d\n ",M);

//A- debe ejecutarse antes de la operación s[a], porque el s[a] correspondiente no tiene ningún valor asignado después del último a++.

if(s[a]%2==1){

for(;a = 0;A-){//El juicio de condición intermedia de la declaración for no debe ser a =0 (esta es una declaración de asignación), pero A >;=0

if(s[a]==1){

x[j]= m;

p>

y[j]= M;

j++;

//Se ha encontrado aquí, debería estar roto.

}

}

}

}

}

Devuelve j;

}

void main(){

int k, n, x[100], I

龙y[100; ];

ARCHIVO * fp

fp=fopen("myf2.out ", " w ");

Printf("Por favor ingrese n:\ n ");

scanf("%d ", & ampn);

k=prime_m(n, x, y);

printf("% d\n ", k);

for(I = 1; I & lt= k; I++) //x[i] e y[i] deben generarse en pares, así que aquí hay menos Se agrega un "{".

//Además, el rango de valores de I debe ser [0, k-1], es decir, para (I = 0; I<k;i++)

fprintf(fp , " %d\n ", x[I]); //Veo el formato solicitado. ¿Debería usarse "\t" aquí en lugar de "\n"?

fprintf(fp, " %d\n ", y[I]);

//Agrega "}" aquí.

fprintf(fp, " \nMi número de examen es: 00123 "

fclose(FP);