用c语言编程输入一批非零数,直到输入零为止,计算其中奇数的平均值和偶数的乘积。
时间: 2023-06-14 10:02:31 浏览: 389
以下是用C语言编写的程序,可以实现输入一批非零数,直到输入零为止,计算其中奇数的平均值和偶数的乘积:
```c
#include <stdio.h>
int main() {
int num, odd_sum = 0, odd_count = 0, even_product = 1;
printf("请输入一批非零数,以 0 结束:\n");
scanf("%d", &num);
while (num != 0) {
if (num % 2 == 0) { // 偶数
even_product *= num;
} else { // 奇数
odd_sum += num;
odd_count++;
}
scanf("%d", &num);
}
// 计算奇数的平均值
double odd_avg = (double) odd_sum / odd_count;
// 输出结果
printf("奇数的平均值为 %.2f,偶数的乘积为 %d。\n", odd_avg, even_product);
return 0;
}
```
解释一下代码:
1. 首先定义变量 `num` 表示输入的数,`odd_sum` 表示所有奇数的和,`odd_count` 表示奇数的个数,`even_product` 表示所有偶数的乘积,初始化为 1。
2. 输出提示信息,要求用户输入一批非零数,以 0 结束。
3. 使用 `while` 循环,每次读入一个数,如果输入的数是偶数,就将其乘入 `even_product` 中;如果是奇数,就将其加到 `odd_sum` 中,同时 `odd_count` 加 1。
4. 循环结束后,计算所有奇数的平均值,注意要将 `odd_sum` 转换为 `double` 类型,以避免整数除法的问题。
5. 最后输出结果,包括奇数的平均值和偶数的乘积。
希望能帮助到你!
阅读全文