天天看點

習題5-2 使用函數求奇數和 (15 分)習題5-2 使用函數求奇數和 (15 分)二、題解c代碼

浙大版《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;
}
           

繼續閱讀