习题5-2 使用函数求奇数和 (15 分) 本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。

本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。

函数接口定义:
int even( int n );
int OddSum( int List[], int N );
其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回1,否则返回0。函数OddSum负责计算并返回传入的N个整数List[]中所有奇数的和。

裁判测试程序样例:

#include <stdio.h>

#define MAXN 10

int even( int n );
int OddSum( int List[], int N );

int main()
{    
    int List[MAXN], N, i;

    scanf("%d", &N);
    printf("Sum of ( ");
    for ( i=0; i<N; i++ ) {
        scanf("%d", &List[i]);
        if ( even(List[i])==0 )
            printf("%d ", List[i]);
    }
    printf(") = %d\n", OddSum(List, N));

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
6
2 -3 7 88 0 15
输出样例:
Sum of ( -3 7 15 ) = 19

#include <stdio.h>

#define MAXN 10

int even( int n );
int OddSum( int List[], int N );

int Main()
{    
    int List[MAXN], N, i;

    scanf("%d", &N);
    printf("Sum of ( ");
    for ( i=0; i<N; i++ ) {
        scanf("%d", &List[i]);
        if ( even(List[i])==0 )
            printf("%d ", List[i]);
    }
    printf(") = %d\n", OddSum(List, N));

    return 0;
}

/* 你的代码将被嵌在这里 */
int even( int n )
{
	if(n%2==0)
		return 1;
	else
		return 0;
}
int OddSum( int List[], int N )
{
	int total = 0;
	int i;
	for(i=0;i<N;i++)
	{
		if(List[i]%2!=0)
		{
			total+=List[i];
		}
	}
	return total;
}
### 回答1: 好的,下面是文回复: 实现计算n个整数所有奇数的和函数,可以使用循环遍历每个整数,判断是否为奇数,如果是,则将其加入到奇数的和。具体实现可以参考以下代码: ```python def sum_odd_numbers(numbers): odd_sum = for num in numbers: if is_odd(num): odd_sum += num return odd_sum def is_odd(num): return num % 2 != ``` 其,sum_odd_numbers函数接受一个整数列表作为参数,返回其所有奇数的和。is_odd函数用于判断一个整数是否为奇数,如果是,返回True,否则返回False。 希望能对您有所帮助! ### 回答2: 题目要求实现两个函数一个计算n个整数所有奇数的和函数,另一个判断奇偶函数。 首先,实现判断奇偶函数。我们知道,如果一个整数除以2余数为0,则这个数为偶数,否则这个数为奇数。因此,一个简单的判断奇偶函数可以写成如下代码: ```python def is_odd(num): if num % 2 == 0: return False else: return True ``` 接下来,我们需要实现计算n个整数所有奇数的和函数。首先,我们需要读入这n个整数,可以使用input函数获取用户输入。然后,我们遍历这n个整数,把所有奇数加起来即可。具体实现代码如下: ```python def sum_odd(n): sum = 0 for i in range(n): num = int(input("请输入一个整数:")) if is_odd(num): sum += num return sum ``` 最后,我们可以编写一个函数来调用这两个函数计算n个整数所有奇数的和,并输出结果。主函数代码如下: ```python def main(): n = int(input("请输入整数个数:")) res = sum_odd(n) print("n个整数所有奇数的和为:", res) if __name__ == "__main__": main() ``` 以上就是实现计算n个整数所有奇数的和判断奇偶函数的方法。注意,在实际编写代码时,我们需要注意一些异常情况的处理,例如用户输入非整数等非法情况。 ### 回答3: 计算n个整数所有奇数的和的问题,我们可以先遍历这n个整数,然后判断每一个整数是否为奇数,如果是奇数,则将该整数的值累加到奇数的和。因此,我们需要实现一个判断奇偶函数。 我们可以通过整数的二进制表示的最后一位是否为1来判断这个整数是否为奇数。因为如果一个整数的二进制表示的最后一位为1,则它的十进制表示一定是奇数,反之,如果最后一位为0,则它的十进制表示一定是偶数。 因此,我们可以定义一个函数isOdd(num),用来判断一个整数num是否为奇数。具体实现如下: function isOdd(num) { if(num & 1) { return true; } else { return false; } } 这个函数将传入的整数num与1进行按位与操作,如果结果不为0,即num的二进制表示的最后一位为1,则返回true,表示这个整数奇数,否则返回false,表示这个整数是偶数。 有了isOdd(num)函数后,我们就可以实现计算n个整数所有奇数的和函数。具体实现如下: function sumOfOddNumbers(nums) { let sum = 0; for(let i = 0; i < nums.length; i++) { if(isOdd(nums[i])) { sum += nums[i]; } } return sum; } 这个函数将传入的n个整数放在一个数组nums,然后遍历nums数组,对于每一个整数nums[i],如果它是奇数,则将其值累加到sum。最后,函数返回所有奇数的和sum。 综上所述,我们可以通过实现isOdd(num)函数和sumOfOddNumbers(nums)函数,来计算n个整数所有奇数的和。这样,我们就可以在编写代码时快速、准确地判断一个整数是不是奇数,并用这个函数计算一组整数所有奇数的和
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值