编写一个程序,该程序读取整数,直到输入0。输入终止后,程序应该报告输入的偶数(不含0)的总个数、偶数的平均值、输入的奇数总个数以及奇数的平均值。
易错点:
不论奇数个数为多少,奇数的平均值一定是整数。
不论偶数个数为多少,偶数的平均值一定也是整数。
此问题涉及到输出四个结果的时候的输出格式问题,如果以%lf输出奇数平均值或者偶数平均值,那么将会有不可预料的错误。
个人总结:
c语法博大精深,需要时刻注意细节问题。逻辑上的错误往往很容易找到,而语法上的错误,特别是与数学知识相关的语法错误我们应该尽可能的避免发生。
代码:
#include<stdio.h>
int main()
{
int a = 0,b = 0,temp = 0,sum1 = 0,sum2 = 0;//必要的初始化,避免编译器调用垃圾值
while((scanf("%d",&temp)) != 0)
{
if(temp != 0)//输入不为0
{
if(temp % 2 == 0)//判断是否为偶数
{
a++;
sum1 += temp;
}
else
{
b++;
sum2 += temp;
}
}
else
break;
}
printf("%d\n%d\n%d\n%d\n",a,b,sum1/a,sum2/b);
return 0;
}