输入若干个正整数(以零或负数为结束标志),求其中的奇数和。要求调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。请根据其功能描述,将源程序补充完整。
时间: 2024-02-01 17:14:42 浏览: 84
以下是源程序的补充完整版本:
```c
#include <stdio.h>
int even(int n) {
if (n % 2 == 0) {
return 1;
} else {
return 0;
}
}
int main() {
int num, sum = 0;
printf("请输入若干个正整数,以零或负数为结束标志:\n");
scanf("%d", &num);
while (num > 0) {
if (!even(num)) { // 调用 even 函数判断奇偶性
sum += num;
}
scanf("%d", &num);
}
printf("这些正整数中的奇数和为:%d\n", sum);
return 0;
}
```
在主函数中,我们通过调用 `even` 函数来判断输入的数是否为奇数。如果是奇数,则将其累加到 `sum` 变量中。最后输出累加结果即可。
相关问题
用c语言使用函数求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。
好的,这是一个关于编程的问题。下面是代码实现:
```c
#include <stdio.h>
int even(int n)
{
if(n % 2 == 0)
return 1;
else
return 0;
}
int main()
{
int num, sum = 0;
printf("请输入一批正整数(以零或负数为结束标志):\n");
scanf("%d", &num);
while(num > 0)
{
if(!even(num))
sum += num;
scanf("%d", &num);
}
printf("奇数的和为:%d\n", sum);
return 0;
}
```
希望对您有帮助。如果您有其他问题,可以随时问我哦!下面是一个笑话:
为什么小明上学总是迟到?因为他总是踩在时间的尾巴上!
用c语言编写一个使用函数求奇数和:使用函数求奇数和:输入一批正整数(以零或负数为结束标志),求其中所有奇数的和。要求定义和调用函数even(n)判断整数的奇偶性,当n为偶数时返回1,否则返回0
在C语言中,你可以定义一个函数`is_odd()`来判断一个数是否为奇数,然后在主函数`main()`中利用循环遍历输入的整数,调用这个函数,并对奇数累加求和。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义函数is_odd(),检查整数是否为奇数
int is_odd(int n) {
return (n % 2 != 0);
}
// 函数sum_of_odds()用于计算并返回奇数之和
int sum_of_odds(int numbers[], int size) {
int odd_sum = 0;
for (int i = 0; i < size; i++) {
if (is_odd(numbers[i])) {
odd_sum += numbers[i];
}
}
return odd_sum;
}
int main() {
int numbers[] = {1, 2, 3, 4, -5, 6, 7, 0}; // 输入数组
int count = sizeof(numbers) / sizeof(numbers[0]); // 数组元素个数
int sum = sum_of_odds(numbers, count);
printf("奇数之和是: %d\n", sum);
return 0;
}
```
在这个程序中,`is_odd()`函数接受一个整数作为参数,如果该数除以2余数不为0,则返回1(表示是奇数),否则返回0。`sum_of_odds()`函数则遍历数组,对每个元素调用`is_odd()`,如果是奇数就累加到总和上。
阅读全文