//程序读取整数,直到输入0.输入终止后,报告输入的偶数(不包括0)总个数,偶数的平均值,输入的奇数总个数以及奇数的平均值
#include<stdio.h>
int main (void)
{
int num, en, on; //num是检测输入的数,en是偶数个数,on是奇数个数
float aen = 0, aon = 0; //aen是偶数的平均值,aon是奇数的平均值
printf("Please enter your numbers:\n");
scanf("%d", &num);
whlie(0 != num)
{
if (0 == num % 2){ //能被2整除,是偶数
en++;
aen = aen + num;
}
else{ //不能被2整除,是奇数
on++;
aon = aon + num;
}
scanf("%d", &num);
}
printf("There are %d even numbers,%d odd numbers.\n",
en, on);
printf("The averge of even numebrs is %.2lf.The averge of odd numbers is %.2lf.\n",
aen/en, aon/on);
printf("Done\n");
return 0;
}
变量en,on没有初始化,while循环单词拼错了
whlie(0 != num)
单词错误 while
报什么错嘛,要贴出来呀
printf("The averge of even numebrs is %.2lf.The averge of odd numbers is %.2lf.\n"
你定义的是float单精度浮点型, 把%.2lf 改为 %.2f
en 和 on没有清0
en=0; on=0; //要初始化
while(0 != num)//单词错误 while
{
楼上三位把出的问题很明显的都说了,最最主要的是因为没有清零.拼写错误是楼主手滑么.
.然后二楼说的f和lf在当前你这个程序上看似影响不大,但是要保持编程好习惯哟
最好养成初始化的好习惯,还有float初始化不是0.0f么
上面说的还真两个没注意到。
如果输入的全是奇数/偶数。 咋办?甚至极端情况的一个数字都没输入呢。
是不是这个情况考虑不周全的问题。