C语言中用while循环写读入一批正整数(以零或负数为结束标志),求其中的奇数和
时间: 2024-11-09 13:23:19 浏览: 56
C语言循环实现输入一批整数统计正负数个数
在C语言中,我们可以使用while循环结合条件判断来读取用户输入的一批正整数,并在遇到非正整数时停止输入,同时累加奇数。以下是相应的代码示例:
```c
#include <stdio.h>
int main() {
int num = 0; // 初始化当前输入的数字
int sum_of_odds = 0; // 初始化奇数之和
// 使用while循环读取输入直到遇到0或负数
while (num >= 0) {
printf("请输入一个正整数(输入0或负数结束): ");
scanf("%d", &num);
if (num % 2 != 0) { // 判断是否为奇数
sum_of_odds += num; // 累加奇数
}
}
// 输出奇数之和
printf("所有输入的正整数中,奇数之和是: %d\n", sum_of_odds);
return 0;
}
```
在这个程序中,当用户输入的是0或负数时,条件`num >= 0`变为假,`while`循环结束,程序进入下一行,不再继续读数。
阅读全文