C言語についての質問です。
当方初心者で、ここに質問するのも初めてなので
コード
以下コード&問題↓ /* 実行結果例に習い、以下のプログラムを作りなさい。 (1)長さ5のint型の配列を作成する。 (2)(1)の各要素に、1から10までの数をキーボードから入力する。 (3)配列の内容をすべて表示する。 (4)配列の値の合計値と、平均値を表示する。 (5)平均値よりも大きい数を表示する。 (6)平均値よりも小さい数を表示する。 */ #include<stdio.h> int main() { int i, j, a[5], b[5], c[5], big = 0, small = 0, sum = 0; double ave; printf("5つの数を入力してください。\n"); //数値入力 for(i=0; i<5; i++){ scanf("%d", &a[i]); } //配列表示 for(i=0; i<5; i++){ printf("%d ", a[i]); } printf("\n"); //合計値 for(i=0; i<5; i++){ sum = sum + a[i]; } printf("合計値=%d\n", sum); //平均値 ave = sum / 5; printf("平均値=%.f\n", ave); //平均値と比較(大) for(i=0; i<5; i++){ if(a[i]>ave){ b[i] = a[i]; big = big + 1; } } //平均値と比較(小) for(j=0; j<5; j++){ if(a[j]<ave){ c[j] = a[j]; small = small + 1; } } //結果表示 printf("平均値より大きい数="); for(i=0; i<big; i++){ printf("%d ", a[i]); } printf("\n"); printf("平均値より小さい数="); for(j=0; j<small; j++){ printf("%d ", c[j]); } printf("\n"); return 0; } ここまで これで配列の数字を1,2,3,4,5にして実行してみると次のようになります。 >mondai1 5つの数を入力してください。 1 2 3 4 5 1 2 3 4 5 合計値=15 平均値=3 平均値より大きい数=1 2 平均値より小さい数=1 2 平均値より小さい数は、ちゃんと「1と2」になるんですが、 平均値より大きい数も「1と2」になってしまいます。 どうしたらいいのでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/14 15:17 編集