Red de conocimiento informático - Aprendizaje de código fuente - Nuevo en programación, no sé por qué no se ejecuta correctamente.

Nuevo en programación, no sé por qué no se ejecuta correctamente.

Hay un problema con la lógica. Tanto los números pares como los impares requieren variables de suma y recuento. Generalmente se definen así:

int cnt0=0,cnt1=0,sum0. =0,sum1 =0;

El bucle se puede escribir así:

while(1)

{

scanf( "%d",&amount);

if (0==cantidad) descanso;

if (0==cantidad%2) {cnt+;sum=cantidad;}

else { cnt1++;sum1+=amount;}

}

Debes saber cómo escribir la declaración de salida final, puede ser así:

printf("Número impar %d, el total es %d, la media es %d\n",cnt1,sum1,sum1/cnt1);

printf("Un número par %d , el total es %d, la media es %d\n", cnt0,sum0,sum0/cnt0);

No hay ningún problema en encadenar un programa completo ahora.

Ejercicio sacando inferencias de un ejemplo:

Si has aprendido sobre matrices, puedes definir sum y cnt como matrices:

int sum[2]= {0,0},cnt [2]={0,0};

Declaración de bucle:

while(1)

{

scanf("% d",&amount);

if (0==cantidad) break;

cnt[amount%2]++;

sum[amount%2 ]+=amount;

}

La declaración de salida puede usar un bucle:

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

printf("%s cuenta %d, el total es %d, la media es %d\n", i?"impar":"par",cnt[i], suma[i],suma[i]/ cnt[i]);