回答編集履歴

1

追記

2019/07/20 23:57

投稿

otn
otn

スコア84566

test CHANGED
@@ -1 +1,39 @@
1
1
  取りあえず、`ret != EOF`を`ret == 1`に変更すれば、「数値以外を入力したら終了」になります。
2
+
3
+
4
+
5
+ あと、質問と関係ないですが、コード中に同じ事を何度も書くのは良くないです。
6
+
7
+ (別の言い方をすると、「ループの1回でやりたいこと」がストレートにコードに表現されていない)
8
+
9
+ ```C
10
+
11
+ #include<stdio.h>
12
+
13
+ main()
14
+
15
+ {
16
+
17
+ int ret,c, i = 0, sum = 0;
18
+
19
+ while (1)
20
+
21
+ {
22
+
23
+ printf("整数(^Zで終了)");
24
+
25
+ ret = scanf("%d", &c);
26
+
27
+ if(ret==EOF) break;
28
+
29
+ sum += c;
30
+
31
+ i++;
32
+
33
+ }
34
+
35
+ printf("合計=%d\n平均=%.1f", sum, (float)sum / i);
36
+
37
+ }
38
+
39
+ ```