从终端读取数据,直到输入0值才为结束,计算出其中的偶数个数及平均值和奇数的个数以及平均值。
#include <stdio.h>
#include <stdlib.h>
static void test2(void)
{
int n;
int ct_odd = 0,ct_even = 0;// 定义 odd奇数 even为偶数
double sum_odd = 0,sum_even = 0;
while(scanf("%d",&n) == 1 && n != 0)
{
if(n % 2 ==1)
{
ct_odd ++;
sum_odd += n;
}
else
{
ct_even ++;
sum_even += n;
}
}
printf("odd:%d,AVE:%f\n",ct_odd,sum_odd/ct_odd);
printf("even:%d,AVE:%f\n",ct_even,sum_even/ct_even);
}
int main()
{
test2();
exit(0);
}
scanf("%d",&n) == 1
scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功。 while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环。
这里使用到scanf,而不是getchar。是因为用scanf输入字符串十分危险,容易出现越界现象。而getchar是获取一个字符的专用。