用c语言使用函数求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。
时间: 2024-04-29 10:25:09 浏览: 244
好的,这是一个关于编程的问题。下面是代码实现:
```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()`,如果是奇数就累加到总和上。
Description 输入一批正整数(以零或负数为结束标志),求其中的奇数和。试编写相应程序。 Input 输入一批正整数(以零或负数为结束标志)并用零或负数结尾 Output 输出其奇数的和(整数形式)。 C语言
在C语言中,你可以使用循环结构(如for或while)以及条件判断来解决这个问题。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num = 0; // 初始化一个变量来存储输入的数字
int sum = 0; // 初始化一个变量来存储奇数和
printf("请输入正整数(以零或负数结束):");
// 循环读取用户输入直到遇到零或负数
while (scanf("%d", &num) == 1 && num >= 0) {
if (num % 2 != 0) { // 判断是否为奇数
sum += num; // 如果是奇数,将其加到总和上
}
}
// 输出结果
printf("奇数的和为:%d\n", sum);
return 0;
}
```
在这个程序中,`scanf`函数用于读取用户的输入,`%d`表示读取一个整数。当用户输入的数字小于等于0时,`scanf`返回值会变为0,此时跳出循环。
阅读全文
相关推荐














