C语音 用while语句编程实现:输入一批正整数(以零或负数为结束标志),求其中的奇数和。
时间: 2024-11-05 17:26:20 浏览: 30
在C语言中,你可以使用while循环来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num, sum = 0; // 初始化奇数和为0
while (1) { // 使用无限循环,直到输入非正整数为止
printf("请输入一个正整数(输入0或负数结束):");
scanf("%d", &num); // 读取用户输入
if (num <= 0) { // 如果输入的是0或负数,跳出循环
break;
}
if (num % 2 != 0) { // 检查是否为奇数
sum += num; // 奇数累加到总和
}
}
printf("输入的奇数和为:%d\n", sum);
return 0;
}
```
在这个程序里,`while(1)`创建了一个无限循环,然后通过`scanf`获取用户的输入,并检查如果输入的数字小于等于0,则使用`break`退出循环。对于每一个正整数,我们使用模运算 `%` 来判断它是否为奇数,如果是,就增加到总和`sum`上。
相关问题
求奇数和:读入一批正整数(以零或负数为结束标志),求其中奇数和,使用while语句。C语言
在C语言中,你可以使用while循环结构遍历输入的一批正整数,并通过条件判断每个数字是否为奇数,如果是,则累加到总和中。当遇到0或负数时,程序会停止计算并返回结果。以下是相应的C代码示例:
```c
#include <stdio.h>
int main() {
int num = 0; // 存储当前数字
long sum = 0; // 初始化奇数和为0
int isOdd = 0; // 标记当前数字是否为奇数
printf("请输入一系列正整数(以0或负数结束):");
while (scanf("%d", &num) == 1 && num != 0) { // 读取数字,直到遇到0或负数
if (num % 2 != 0) { // 判断数字是否为奇数
sum += num; // 累加奇数
isOdd = 1; // 设置标志位为1,表示接下来的都是奇数
} else {
isOdd = 0; // 非奇数,清空标志位
}
}
// 结果打印
if (isOdd) {
printf("奇数和为:%ld\n", sum);
} else {
printf("输入序列中没有奇数。\n");
}
return 0;
}
```
求奇数和:读入一批正整数(以零或负数为结束标志),求其中的奇数和。请使用while语句实现循环。
可以使用如下代码实现:
```python
sum = 0 # 初始化奇数和为0
num = int(input("请输入一个正整数:")) # 读入第一个数
while num > 0: # 当输入的数大于0时循环
if num % 2 == 1: # 如果这个数是奇数
sum += num # 将这个数加到奇数和上
num = int(input("请输入一个正整数:")) # 再次读入下一个数
print("所有奇数的和为:", sum) # 循环结束,输出奇数和
```
我们首先定义一个变量 `sum` 来保存奇数和,将其初始化为0。然后使用 `input()` 函数读入第一个正整数 `num`。接着使用 `while` 循环,当输入的数大于0时循环。在每次循环中,判断当前输入的数是否为奇数,如果是则将其加到奇数和上。最后再次使用 `input()` 函数读入下一个正整数 `num`,直到读入的数为0或负数时,退出循环。循环结束后,输出所有奇数的和。
阅读全文