質問編集履歴
3
カウントの結果を表に変換
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,27 +13,19 @@
|
|
13
13
|
3456543154897978017060606
|
14
14
|
【標準入力】
|
15
15
|
20
|
16
|
-
【現在標準出力に出力されている結果】
|
17
|
-
0:4
|
18
|
-
1:2
|
19
|
-
3:2
|
20
|
-
4:3
|
21
|
-
5:3
|
22
|
-
6:4
|
23
|
-
7:3
|
24
|
-
8:2
|
25
|
-
9:2
|
26
16
|
|
17
|
+
|列1|【現在標準出力に出力されている結果】|【20桁(標準入力にて指定)のみのカウント結果】|
|
27
|
-
|
18
|
+
|:--|:--:|--:|
|
28
|
-
0
|
19
|
+
0|4|2
|
29
|
-
1
|
20
|
+
1|2|2
|
30
|
-
3
|
21
|
+
3|2|2
|
31
|
-
4
|
22
|
+
4|3|3
|
32
|
-
5
|
23
|
+
5|3|3
|
33
|
-
6
|
24
|
+
6|4|1
|
34
|
-
7
|
25
|
+
7|3|3
|
35
|
-
8
|
26
|
+
8|2|2
|
36
|
-
9
|
27
|
+
9|2|2
|
28
|
+
|
37
29
|
|
38
30
|
【標準出力に出力したい結果】
|
39
31
|
4:3
|
2
char file[20]; とscanf("%s", file);は不要のため削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -46,7 +46,6 @@
|
|
46
46
|
int main(int argc, char *argv[]) {
|
47
47
|
|
48
48
|
FILE *fp;
|
49
|
-
char file[20];
|
50
49
|
char ch;
|
51
50
|
int i;
|
52
51
|
|
@@ -54,7 +53,6 @@
|
|
54
53
|
int cnt[10] = {0};
|
55
54
|
|
56
55
|
//ファイルを読み取り専用で開く。失敗するとNULLを返す。
|
57
|
-
scanf("%s", file);
|
58
56
|
fp = fopen(argv[1], "r");
|
59
57
|
if (fp == NULL) {
|
60
58
|
printf("%s : file not opened.\n", argv[1]);
|
1
初心者アイコンを追加しました。わかりにくい箇所を修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,30 +1,44 @@
|
|
1
|
-
txtファイルを読み込み0~9までの数字のカウントを行い、
|
1
|
+
txtファイルを読み込み0~9までの数字のカウントを行い、一番多い数字を出力したいです。
|
2
|
-
一番多い数字を標準出力に出力したいです。(同数があれば若い番号順に出力)
|
3
|
-
カウントを行う桁数は標準入力で決まっています。
|
4
2
|
|
3
|
+
txtファイルにある数字の0~9までのカウントはできているのですが、
|
4
|
+
以下の2つの対応がどのようしたら良いかわかりません。
|
5
|
+
・標準入力にある桁数のみカウントを行う。(下の例ですと24桁ありますが、20桁のみカウントしたいです)
|
6
|
+
・カウントした中で、最大値のみを標準出力する。(同数が複数あれば若い番号順に出力する)
|
7
|
+
|
5
|
-
|
8
|
+
数字のカウントだけはできていると思っていますが、初学者のため、あまり難しいコードはわかりません。
|
6
9
|
ご教授いただければ幸いです。
|
7
10
|
よろしくお願いします。
|
8
11
|
|
9
12
|
【txtファイル】
|
10
|
-
|
13
|
+
3456543154897978017060606
|
11
14
|
【標準入力】
|
12
15
|
20
|
13
|
-
【
|
16
|
+
【現在標準出力に出力されている結果】
|
14
|
-
0
|
17
|
+
0:4
|
15
|
-
1
|
18
|
+
1:2
|
16
|
-
3
|
19
|
+
3:2
|
17
|
-
4
|
20
|
+
4:3
|
18
|
-
5
|
21
|
+
5:3
|
19
|
-
6
|
22
|
+
6:4
|
20
|
-
7
|
23
|
+
7:3
|
21
|
-
8
|
24
|
+
8:2
|
22
|
-
9
|
25
|
+
9:2
|
23
26
|
|
24
|
-
【標準出力】
|
27
|
+
【標準入力の桁数のみ出力】
|
28
|
+
0:2
|
29
|
+
1:2
|
30
|
+
3:2
|
25
|
-
4
|
31
|
+
4:3
|
26
|
-
5
|
32
|
+
5:3
|
33
|
+
6:1
|
27
|
-
7
|
34
|
+
7:3
|
35
|
+
8:2
|
36
|
+
9:2
|
37
|
+
|
38
|
+
【標準出力に出力したい結果】
|
39
|
+
4:3
|
40
|
+
5:3
|
41
|
+
7:3
|
28
42
|
|
29
43
|
```C
|
30
44
|
#include <stdio.h>
|
@@ -53,7 +67,7 @@
|
|
53
67
|
cnt[ch - '0']++;
|
54
68
|
}
|
55
69
|
}
|
56
|
-
for (i = 0; i < 9; i++) {
|
70
|
+
for (i = 0; i <= 9; i++) {
|
57
71
|
if (cnt[i] >= 1){
|
58
72
|
printf("%c:%d\n", '0' + i, cnt[i]);
|
59
73
|
}
|