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;} p>
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]);