この質問では、N個の整数のすべての奇数の合計を計算する関数を実現すると同時に、パリティを判断する関数を実現する必要があります。
関数インターフェイスの定義:
int even( int n );
int OddSum( int List[], int N );
この関数は、ユーザーから渡されたパラメーター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
回答:
int even( int n )
{
//当n为偶数时返回1,否则返回0。
if(n%2==0) return 1;
else return 0;
}
int OddSum( int List[], int N )
{
//计算并返回传入的N个整数List[]中所有奇数的和。
int sum=0.0;
int i;
for (i = 0; i < N;i++)
{
if (List[i] % 2 != 0) sum += List[i];
}
return sum;
}