浙大版《C語言程式設計(第3版)》題目集
- 習題5-2 使用函數求奇數和 (15 分)
- 二、題解
- c代碼
習題5-2 使用函數求奇數和 (15 分)
本題要求實作一個函數,計算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;
}
/* 你的代碼将被嵌在這裡 */
輸入樣例1:
6
2 -3 7 88 0 15
輸出樣例1:
二、題解
c代碼
int even( int n ) { //是否是奇數
if(n % 2 == 0) return 1;
return 0;
}
int OddSum( int List[], int N ) { //奇數求和
int sum = 0;
for ( int i = 0; i < N; i++ )
if( even(List[i]) == 0 )
sum += List[i];
return sum;
}