使用C语言,输入一批正整数,以0或负数为结束标记,求其中偶数的累加和
时间: 2023-12-10 07:42:59 浏览: 262
下面是使用C语言编写的程序,可以实现输入一批正整数,以0或负数为结束标记,求其中偶数的累加和:
```c
#include <stdio.h>
int main() {
int sum = 0, num;
printf("请输入一批正整数,以0或负数为结束标记:\n");
scanf("%d", &num);
while (num > 0) {
if (num % 2 == 0) {
sum += num;
}
scanf("%d", &num);
}
printf("所有偶数的累加和为:%d\n", sum);
return 0;
}
```
运行程序后,用户可以逐个输入正整数,直到输入0或负数为止。程序会判断每个输入的数是否为偶数,如果是偶数就将其加入累加器中。最后程序输出所有偶数的累加和。
相关问题
输入一批正整数(以0或负数为结束标志),求其中的偶数和。
当然,我们可以使用循环结构来遍历输入的一批正整数,对于每个数,我们检查它是否为偶数,如果是,则累加到总和中。当遇到0或负数时,我们知道这是结束标志,于是停止计算并返回结果。
以下是一个简单的C语言程序示例:
```c
#include <stdio.h>
int main() {
long int sum = 0; // 初始化偶数和为0
int num;
printf("请输入一系列正整数(以0或负数结束):");
while (scanf("%d", &num) == 1 && num >= 0) { // 只要读取成功且数值非负
if (num % 2 == 0) { // 检查是否为偶数
sum += num;
}
}
printf("偶数的和是:%ld\n", sum);
return 0;
}
```
在这个程序中,`scanf`用于从标准输入读取数字,`%d`是一个格式说明符,告诉它我们要读取的是一个整数。`if (num % 2 == 0)`这部分判断数字是否能被2整除,如果余数为0则它是偶数。
当你运行这个程序时,它会提示你输入一系列的数字,直到你输入0或负数为止。然后它会输出所有偶数的和。
输入一批正整数(以0或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。c语言
以下是C语言的代码实现:
```c
#include <stdio.h>
int even(int n) {
if (n % 2 == 0) {
return 1; // 偶数返回1
} else {
return 0; // 奇数返回0
}
}
int main() {
int num, sum = 0;
printf("请输入一批正整数(以0或负数为结束标志):\n");
scanf("%d", &num);
while (num > 0) {
if (!even(num)) { // 判断是否为奇数
sum += num; // 累加奇数
}
scanf("%d", &num);
}
printf("奇数的和为:%d\n", sum);
return 0;
}
```
使用函数even(n)来判断输入的数字是否为奇数,如果是则累加到sum变量中,最后输出奇数的和。
阅读全文