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

質問編集履歴

2

意図的な質問内容の変更が見られたため、復元しました。

2020/04/21 09:18

投稿

L4zy
L4zy

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- 解決しました。。。。。。
1
+ 10個の1から100での乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、うまくいきません
body CHANGED
@@ -1,1 +1,59 @@
1
- 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、うまくいきません。
1
+ 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、
2
+ たまに10個出力されない時があります。
3
+ なぜ毎回10個出力されないのか教えてください。
4
+ お願いします。
5
+ ```C
6
+ #include <stdio.h>
7
+ #include <stdlib.h>
8
+ #include <time.h>
9
+ // 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示する関数 戻り値0 引数なし
10
+ int main()
11
+ {
12
+ int ran[10] = {};
13
+ // ookii:平均値より大きい数 tiisai:平均値より小さい数
14
+ int ookii[10] = {}, tiisai[10] = {};
15
+ int ookiiCnt = 0, tiisaiCnt = 0;
16
+ int goukei = 0, heikin, i;
17
+ srand((unsigned)time(NULL));
18
+ // 各要素に、1から100までの乱数を代入
19
+ for(i = 0; i < 10; i++)
20
+ {
21
+ // 1から100までの乱数を生成
22
+ ran[i] = rand() % 100 + 1;
23
+ // 合計値
24
+ goukei += ran[i];
25
+ // 配列の内容を表示
26
+ printf("%d ", ran[i]);
27
+ }
28
+
29
+ // 平均値
30
+ heikin = goukei / 10;
31
+ printf("\n\n合計値:%d\n", goukei);
32
+ printf("平均値:%d\n\n", heikin);
33
+ // 配列ranにデータが存在する間
34
+ for(i = 0; i < ran[i] != 0; i++)
35
+ {
36
+ // 配列の値が平均値より大きかったら
37
+ if(heikin < ran[i])
38
+ {
39
+ ookii[ookiiCnt++] = ran[i];
40
+ }
41
+ // 配列の値が平均値より小さかったら
42
+ if(heikin > ran[i])
43
+ {
44
+ tiisai[tiisaiCnt++] = ran[i];
45
+ }
46
+ }
47
+ printf("平均値より大きい数:");
48
+ for(i = 0; ookii[i] != 0; i++)
49
+ {
50
+ printf("%d ", ookii[i]);
51
+ }
52
+ printf("\n平均値より小さい数:");
53
+ for(i = 0; tiisai[i] != 0; i++)
54
+ {
55
+ printf("%d ", tiisai[i]);
56
+ }
57
+ return 0;
58
+ }
59
+ ```

1

直した

2020/04/21 09:18

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 10個の1から100での乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、うまくいきません
1
+ 解決しました。。。。。。
body CHANGED
@@ -1,66 +1,1 @@
1
- 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、
1
+ 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示したいのですが、うまくいきません。
2
- たまに10個出力されない時があります。
3
- なぜ毎回10個出力されないのか教えてください。
4
- お願いします。
5
-
6
- ```C
7
- #include <stdio.h>
8
- #include <stdlib.h>
9
- #include <time.h>
10
-
11
- // 10個の1から100までの乱数の合計値と平均値、平均値より大きい数、小さい数を表示する関数 戻り値0 引数なし
12
- int main()
13
- {
14
- int ran[10] = {};
15
- // ookii:平均値より大きい数 tiisai:平均値より小さい数
16
- int ookii[10] = {}, tiisai[10] = {};
17
- int ookiiCnt = 0, tiisaiCnt = 0;
18
- int goukei = 0, heikin, i;
19
- srand((unsigned)time(NULL));
20
-
21
- // 各要素に、1から100までの乱数を代入
22
- for(i = 0; i < 10; i++)
23
- {
24
- // 1から100までの乱数を生成
25
- ran[i] = rand() % 100 + 1;
26
- // 合計値
27
- goukei += ran[i];
28
- // 配列の内容を表示
29
- printf("%d ", ran[i]);
30
- }
31
-
32
- // 平均値
33
- heikin = goukei / 10;
34
- printf("\n\n合計値:%d\n", goukei);
35
- printf("平均値:%d\n\n", heikin);
36
-
37
- // 配列ranにデータが存在する間
38
- for(i = 0; i < ran[i] != 0; i++)
39
- {
40
- // 配列の値が平均値より大きかったら
41
- if(heikin < ran[i])
42
- {
43
- ookii[ookiiCnt++] = ran[i];
44
- }
45
- // 配列の値が平均値より小さかったら
46
- if(heikin > ran[i])
47
- {
48
- tiisai[tiisaiCnt++] = ran[i];
49
- }
50
- }
51
-
52
- printf("平均値より大きい数:");
53
- for(i = 0; ookii[i] != 0; i++)
54
- {
55
- printf("%d ", ookii[i]);
56
- }
57
-
58
- printf("\n平均値より小さい数:");
59
- for(i = 0; tiisai[i] != 0; i++)
60
- {
61
- printf("%d ", tiisai[i]);
62
- }
63
-
64
- return 0;
65
- }
66
- ```