2016-04-26 5 views
-3

ここに質問があります:整数の配列をそのサイズと共に入力パラメータとし、配列の偶数の和と配列の奇数の和を比較するC関数を記述します。偶数の合計が大きければ、関数は1を返します。奇数の合計が大きい場合、関数は-1を返します。両方の合計が等しい場合、この関数は0配列と関数

を返し、これは私が試したものです:

int Compare(int a[],int sz){ 
int Esum=0,n,Osum=0,m; 
for(int i=0;i<sz,i++){ 
    if(a[i]%2==0) 
    n=a[i]; 
    sum+=n; 
    else 
    m=a[i]; 
    sum+=m; 
} 
printf("%d%d\n",Osum,Esum); 
if(Esum>Osum) 
return 1; 
else if(Osum>Esum) 
return -1; 
else 
return 0; 

}

しかし、私は、それ完全なコードにするために、メインを計算しようとしましたが、私は「couldn誰かが私を喜ばせることができます:)あなたは私に答えを与える必要はありません

+3

トリプルは等しい?これはどんな言語ですか? –

+3

質問は正確には何ですか? –

+0

問題はなんですか?コンパイルエラーが発生していますか?ランタイムエラー?間違った結果ですか? – Mureinik

答えて

1

これは実際には答えはありませんが、このようなコードを書式設定することは良いスタートになります:

int Compare(int a[],int sz) 
{ 
    int Esum=0,n,Osum=0,m;  // <<< is it Osum or sum 

    for (int i=0; i<sz; i++) { //<< NOTE THE ; HERE INSTEAD OF , 
    if (a[i]%2 == 0) { 
     n=a[i]; 
     sum+=n;     // <<< is it Osum or sum 
    } 
    else { 
     m=a[i]; 
     sum+=m;     // <<< is it Osum or sum 
    } 
    } 

    printf("%d %d\n",Osum, Esum); // <<< space between the two %d 

    if (Esum > Osum) 
    return 1; 
    else if (Osum > Esum) 
    return -1; 
    else 
    return 0; 
} 

Cでは、読みやすさを向上させるためにスペースと空白行を使用できます。

コードと若干の調整やコメントがあります。読みやすさの違いが分かりますか?

+1

あなたの努力を入れていいです:)最後の行に "tu"を書き留めてください。 – sagivd