化学
大学生・専門学校生・社会人
解決済み

1枚目のようにしたいのですがどこを改善したら良いでしょうか……

全て載せきれないので、できていない合計からのプログラムを乗せます

2. p129 演習 5-6改 データの読込と表示 指定したデータ数だけ数値を入力し、 その合計、平均(小数点1桁)、最大、最小を表示させなさい。 実行例を参照のこと。 最初にデータ数を入力するが、 0 以下または設定したデータ数の上限より大きい値 を入力した場合は再入力となること。 テキストにも指示があるように、 配列の要素数は #define で定義しておくこと。 なお、 要素数は学番下3桁+100 とすること よって、 学番22ES091の人は、最初に #define NUMBER 191 のような記載があり、 入力時のメッセージは printf("データ数を1~ %d の範囲で入力: ", NUMBER): となる。 データ数を1~191 の範囲で入力: 0 データ数を1~191の範囲で入力: 192 データ数を1~191 の範囲で入力:4 1番: 23 2番:74 3番:9 4番: 835 合計:941 平均 235.3 最大: 835 最小 : 9 実行結果は、最初に0以下、次に学乱下3桁+100より大きい値を入力し、 再入力となった後に、処理を進めること。 上記の実行例参照。
c:\cwork>gcc hw11-2.c c:\cwork>a データ数を1~139 の範囲で入力:4 1番 : 23 2番:74 3番:9 4番:835 合計 : 952 平均:6,848921 c:\cwork>
164 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ↓ 34 35 36 37 38 39 ¹ 40 41 42 ↓ printf("データ数を1~d の範囲で入力: ", NUMBER); ↓ do {↓ while (n.<_1_||n> NUMBER); + ↓ for(i=0; i<n; i++){+ printf("%2d: "+1); + scanf("%d", &a[i]); + sum += a[i]; + }↓ scanf("%d", &n); + if (n<1> NUMBER) printf("データ数を1~ %d. の範囲で入力:", NUMBER); ↓ printf("%d\n", sum); + printf(": %f\n", (double) sum / NUMBER); + min_=_max = a[0]; + for (i=1;i< NUMBER; i++) {↓ if (a[i]>max) max = a[i]; + if (a[i]<.min) min = a[i]; + }↓ printf("%d\n", _max); + printf("%d\n", min); + 43 ↓ 44 451↓ 46 [EOF] Web return 0; + I 341: 19 C/C++ A

回答

まだ回答がありません。

疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉