ページ 11

奇数、偶数の合計を求める

Posted: 2013年6月10日(月) 21:26
by mu
配列に10の整数を読み込み、奇数、偶数の各合計を表示したいのですが、うまくいきません。
下のどこに問題が有るのでしょうか?
因みに独習Cにあった課題です。

コード:

#include <stdio.h>

int main(){
	int nyu[10], i, kisu, gusu;

	printf("10個の整数を入力してください:");


	for(i = 0; i < 10; i++)
		scanf("%d", &nyu[i]);

	kisu = 0;
	gusu = 0;    //初期化

	for(i = 0; i < 10; i++){
		if(nyu[i] % 2)
			gusu = gusu + nyu[i];
	    else
			kisu = kisu + nyu[i];
	}

	printf("奇数の合計: %d\n", kisu);
	printf("偶数の合計: %d\n", gusu);

	return 0;

}


Re: 奇数、偶数の合計を求める

Posted: 2013年6月10日(月) 21:37
by みけCAT

コード:

if(nyu[i] % 2)
の部分に問題があります。
if文の中の数値が0でないとき、真と判定されます。

Re: 奇数、偶数の合計を求める

Posted: 2013年6月10日(月) 21:41
by 超絶右留斗羅天才プログラマー
16行目を
if(nyu % 2==0)
とするだけでうまくいきますよ(*´▽`*)

Re: 奇数、偶数の合計を求める

Posted: 2013年6月11日(火) 11:24
by 初級者
データの入力と奇数・偶数の振り分けを
1つのループの中で行えば、
nyu を配列にする必要がなくなります。

配列に格納したデータを全く別の局面で
使うのであれば話は別ですけれど。

Re: 奇数、偶数の合計を求める

Posted: 2013年6月11日(火) 14:32
by 初級者
配列を使うことが仕様上必須であるならば、
私の先ほどの回答は無視してください。
配列を使わないコードも書けますよ、と
言いたかっただけです。