化学
大学生・専門学校生・社会人
解決済み
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
回答
まだ回答がありません。
疑問は解決しましたか?
この質問を見ている人は
こちらの質問も見ています😉