teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

更新

2016/12/17 11:16

投稿

bjbjeknr
bjbjeknr

スコア26

title CHANGED
File without changes
body CHANGED
@@ -22,9 +22,29 @@
22
22
  > 平均より小さい数値:1 2 3 4 5
23
23
 
24
24
  がどう書けばいいのか分かりません。
25
+ (**※途中まで解決したので更新しました。ここまでアドバイスくださった
26
+ 皆さんにお礼申し上げます。**)
25
- (while文すと表示が止まらなくなりfor文もどのように書くかが分からずどちらもうせん。)
27
+ 私のプログラム実行と、のようになってしまいすべて6.0となってしまいま
28
+ > ./a.out
29
+ > 数値(-1で入力終了)?1
30
+ > 数値(-1で入力終了)?2
31
+ > 数値(-1で入力終了)?3
32
+ > 数値(-1で入力終了)?4
33
+ > 数値(-1で入力終了)?5
34
+ > 数値(-1で入力終了)?6
35
+ > 数値(-1で入力終了)?7
36
+ > 数値(-1で入力終了)?8
37
+ > 数値(-1で入力終了)?9
38
+ > 数値(-1で入力終了)?10
39
+ > 数値(-1で入力終了)?11
40
+ > 数値(-1で入力終了)?-1
41
+ >
42
+ > 平均は、6.0です。
43
+ > 平均以上の数値:6.0 6.0 6.0 6.0 6.0 6.0
44
+ > 平均以下の数値:6.0 6.0 6.0 6.0 6.0
26
45
 
46
+
27
- 私のプログラムです(一部分からない部分”?????”があります。。)
47
+ 私のプログラムです
28
48
  ```C
29
49
  #include <stdio.h>
30
50
 
@@ -34,8 +54,8 @@
34
54
  int *p = val;
35
55
  int sum=0;
36
56
  int count = -1;
37
- int more_num;
38
- int few_num;
57
+ int i;
58
+ int j;
39
59
  do{
40
60
  printf("数値(-1で入力終了)?");
41
61
  scanf("%d",p);
@@ -45,26 +65,25 @@
45
65
  for(p=val;*p != -1 ;p++){
46
66
  sum += *p;
47
67
  }
48
-
68
+ double ave= (double)sum/count;
49
69
  printf("\n");
50
- printf("平均は、%.1lfです。",(double)sum/count);
70
+ printf("平均は、%.1lfです。",ave);
71
+ printf("\n");
51
72
 
73
+ printf("平均以上の数値:");
74
+ for(i = 0; i < count; i++ ){
75
+ if( val[i] >= ave ){
52
- if(*p>=(double)sum/count)
76
+ printf("%.1lf ", val[i]);
53
- {
77
+ }
54
- *p=more_num;
55
- }else{
56
- *p=few_num;
57
78
  }
79
+ printf("\n");
80
+ printf("平均以下の数値:");
58
81
 
82
+ for( i = 0; i < count; i++ ){
83
+ if( val[i] < ave ){
59
- printf("平均以上の数値:");
84
+ printf("%.1lf ", val[i]);
60
-
61
- ??????
85
+ }
62
-
63
- printf("平均より小さい数値");
64
-
65
- ??????
86
+ }
66
-
67
-
68
87
  printf("\n");
69
88
 
70
89
 

1

修正

2016/12/17 11:16

投稿

bjbjeknr
bjbjeknr

スコア26

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  課題で、
2
2
  キーボードから入力された数値の平均を計算して表示し、平均以上の数値、平均より小さい数値を表示するプログラムを考えているのですが、
3
+ 実行例
3
4
  > ./a.out
4
5
  > 数値(-1で入力終了)? 1
5
6
  > 数値(-1で入力終了)? 2