读入一批正整数(以零或负数为结束标志),求其中的奇数和。请使用while 语句实现循环
时间: 2024-10-28 19:15:16 浏览: 30
判断字符序列是否是回文
5星 · 资源好评率100%
这道题目需要读入一批正整数,以零或负数为结束标志,然后求其中的奇数和。可以使用while语句实现循环。下面是一个参考代码:
```
#include <stdio.h>
int even(int n) {
return n % 2 == 0 ? 1 : 0;
}
int main() {
int n, sum = 0;
printf("请输入一批正整数(以零或负数为结束标志):\n");
scanf("%d", &n);
while (n > 0) {
if (even(n) == 0) {
sum += n;
}
scanf("%d", &n);
}
printf("奇数和为:%d\n", sum);
return 0;
}
```
首先定义了一个函数even,用于判断一个整数n的奇偶性,当为奇数时返回1,否则返回0。然后在主函数中,先读入一个整数n,然后进入while循环,只要n大于0,就执行循环体。在循环体中,如果n是奇数,则将其加入到sum中。最后输出奇数和即可。
阅读全文