CPP第七章第三题:编写一个程序。该程序读取整数,直到输入0.输入终止后,程序应该报告输入的偶数(不包括0)总个数、偶数的平均值,输入的奇数总个数以及奇数平均值

来源:互联网 发布:软件专利范文 编辑:程序博客网 时间:2024/05/18 03:51

-------------------------我的思考出来错误的代码------------------------------

# include <stdio.h>

int main(void)
{
int i;
int os = 0;  //偶数
int js = 0;   //奇数
int sum1 = 0;
float avg1;
int sum2 = 0;
float avg2;

while((scanf("%d", &i)) != 0)
{
if (0==i%2)
{
sum1 += i;
os++;
}
else
{
sum2 += i;
js++;

}

avg1 = sum1 / os;

avg2 = sum2 / js;
printf("偶数总个数:%d, 偶数平均值:%f, 奇数总个数:%d, 奇数平均值:%f\n", os, avg1, js, avg2); 
}

return 0;

}

--------------------网上找出的答案,运行不知道为什么出错----------------------------

# include <stdio.h>

int main(void)
 {
int get;
int n1, n2, sum1, sum2;
double avg1, avg2;
n1 = 0;
n2 = 0;
sum1 = 0;
sum2 = 0;

while (1)
{
scanf("%d", &get);

if (get == 0)
break;
if (get%2 == 0)
{
n1++;
sum1 += get;
}
else 
{
n2++;
sum2 += get;
}
}

avg1 = sum1/n1;
avg2 = sum2/n2;

printf("偶数个数: %d, 偶数平均数: %f\n", n1, avg1);
printf("奇数个数: %d, 奇数平均数: %f\n", n2, avg2);

return 0;
}


阅读全文
0 0