用c语言,读入一批正整数(以零或负数为结束标志),求其中的奇数和。
时间: 2024-03-06 17:51:37 浏览: 111
C语言程序设计-求1到w之间的奇数之和;(w是大于等于100小于等于1000的整数).c
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。
以下是使用 C 语言来读入一批正整数并求其中奇数和的代码:
```c
#include <stdio.h>
int main() {
int num, sum = 0;
printf("请输入一批正整数,以零或负数为结束标志:\n");
scanf("%d", &num);
while (num > 0) {
if (num % 2 != 0) { // 判断是否为奇数
sum += num;
}
scanf("%d", &num);
}
printf("这批正整数中的奇数和为:%d\n", sum);
return 0;
}
```
代码分析:
1. 首先定义两个变量 `num` 和 `sum`,`num` 用于读入输入的整数,`sum` 用于累加奇数的和。
2. 输出提示信息,让用户输入一批正整数,以零或负数为结束标志。
3. 使用 `scanf` 函数读入第一个整数。
4. 进入循环,判断 `num` 是否大于 0,如果是,则继续执行循环体,否则跳出循环。
5. 循环体中使用 `if` 判断 `num` 是否为奇数,如果是,则将其加到 `sum` 中。
6. 继续使用 `scanf` 函数读入下一个整数,回到第 4 步。
7. 循环结束后,输出 `sum` 的值,即为这批正整数中的奇数和。
希望能够帮助到你!
阅读全文