出一道较难的c语言程序题并写出答案
时间: 2024-12-11 10:29:09 浏览: 16
这是一个相对复杂的C语言题目,要求设计一个程序,它能够读取用户输入的一串数字,并统计其中的偶数、奇数以及零的个数。同时,还需要计算这些数字的平均值(忽略零),如果所有输入都是零,则提示“所有数字都是零”。
```c
#include <stdio.h>
int main() {
int num, count_even = 0, count_odd = 0, count_zero = 0;
float sum = 0;
printf("请输入一串数字(以零结束):");
while ((num = getchar()) != EOF && num != '\n') { // 使用getchar处理换行符
if (num == 0) break; // 遇到0时结束输入
else if (num % 2 == 0) count_even++; // 偶数计数
else count_odd++; // 奇数计数
sum += num; // 累加非零数
}
if (count_even == 0 && count_odd == 0) { // 检查是否所有数字都是零
printf("所有数字都是零。\n");
} else {
printf("偶数有 %d 个,奇数有 %d 个,非零数的平均值是 %.2f.\n",
count_even, count_odd, sum / (count_even + count_odd));
}
return 0;
}
```
阅读全文