質問編集履歴

3

質問の詳細追加

2020/01/07 15:31

投稿

alice331
alice331

スコア11

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,33 @@
10
10
 
11
11
 
12
12
 
13
-
13
+ 質問の詳細追加
14
+
15
+ test.textを読み込みます
16
+
17
+ this is a pen
18
+
19
+ /*コメント1*/
20
+
21
+ this is an apple
22
+
23
+ /*コメント2*/
24
+
25
+
26
+
27
+ ・コメント含む
28
+
29
+ 単語数(/*コメント1*/で1単語扱い) 10個 行数 4行 文字数 41文字
30
+
31
+
32
+
33
+ ・コメント含まず
34
+
35
+ 単語数 8個 行数 2行 文字数 23文字
36
+
37
+
38
+
39
+ 単語は一つのカタマリで単語扱いにしています。
14
40
 
15
41
 
16
42
 

2

見やすくしました

2020/01/07 15:31

投稿

alice331
alice331

スコア11

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- C言語
17
+ ```ここに言語を入力
18
18
 
19
19
  #include <stdio.h>
20
20
 
@@ -171,3 +171,11 @@
171
171
  exit(0);
172
172
 
173
173
  }
174
+
175
+ ```
176
+
177
+
178
+
179
+
180
+
181
+ ```

1

編集し直しました

2020/01/07 14:05

投稿

alice331
alice331

スコア11

test CHANGED
File without changes
test CHANGED
@@ -10,9 +10,11 @@
10
10
 
11
11
 
12
12
 
13
- C言語
14
13
 
15
14
 
15
+
16
+
17
+ C言語
16
18
 
17
19
  #include <stdio.h>
18
20
 
@@ -28,146 +30,144 @@
28
30
 
29
31
  {
30
32
 
31
- FILE *fp; /* 入力ファイル用ファイルポインタ */
33
+ FILE *fp; /* 入力ファイル用ファイルポインタ */
32
34
 
33
- int ch; /* 入力文字 */
35
+ int ch; /* 入力文字 */
34
36
 
35
- int line=0; /*行数*/
37
+ int line=0; /*行数*/
36
38
 
37
- int word=0; /*単語数*/
39
+ int word=0; /*単語数*/
38
40
 
39
- int character=0; /*文字数*/
41
+ int character=0; /*文字数*/
40
42
 
41
- int whitespace=TRUE;/*空白文字を読んでいる最中は真(単語を読んでいる間,偽)*/
43
+ int whitespace=TRUE;/*空白文字を読んでいる最中は真(単語を読んでいる間,偽)*/
42
44
 
43
- char back;
45
+ char back;
44
-
45
- //////
46
-
47
- if(argc == 1)
48
-
49
- {
50
-
51
- fp=stdin; /*標準入力を入力ファイルとする*/
52
-
53
- }
54
-
55
- else if(argc == 2)
56
-
57
- {
58
-
59
- /*指定したファイルを開く*/
60
-
61
- if((fp=fopen(argv[1],"r"))== NULL)
62
-
63
- {
64
-
65
- fprintf(stderr,"%s:ファイルが開けませんでした%s\n", argv[0],argv[1]);
66
-
67
- exit(1);
68
-
69
- }
70
-
71
- }
72
-
73
- else
74
-
75
- {
76
-
77
- }
78
-
79
- /*EOF が現れるまで 1 文字ずつ読みとる*/
80
-
81
- while((ch = getc(fp)) != EOF)
82
-
83
- {
84
-
85
- // printf("standerd back=%c ch=%c\n",back,ch);
86
-
87
- /* '/''*'の文字かどうか判定する*/
88
-
89
- if(back=='/' && ch=='*')
90
-
91
- {
92
-
93
- /* '/''*'の場合はEOFまで1文字ずつ読み取る*/
94
-
95
- while((ch = getc(fp)) != EOF)
96
-
97
- {
98
-
99
- // printf("innet back=%c ch=%c\n",back,ch);
100
-
101
- /*一文字ずつ読み取り'*''/'を読み取ったらループを抜ける*/
102
-
103
- if(back=='*' && ch=='/')
104
-
105
- {
106
-
107
- break;
108
-
109
- }
110
-
111
- /*一文字前に読み取った文字を代入する*/
112
-
113
- back=ch;
114
-
115
- }
116
-
117
- }else
118
-
119
- {
120
-
121
- back=ch;
122
46
 
123
47
 
124
48
 
125
- /*文字数を増やす*/
49
+ if(argc == 1)
126
50
 
127
- character++;
51
+ {
128
52
 
129
- /*改行なら行数増やす*/
53
+ fp=stdin; /*標準入力入力ファイルと*/
130
54
 
131
- if(ch=='\n')
55
+ }
132
56
 
133
- {
57
+ else if(argc == 2)
134
58
 
59
+ {
60
+
61
+ /*指定したファイルを開く*/
62
+
63
+ if((fp=fopen(argv[1],"r"))== NULL)
64
+
65
+ {
66
+
67
+ fprintf(stderr,"%s:ファイルが開けませんでした%s\n", argv[0],argv[1]);
68
+
69
+ exit(1);
70
+
71
+ }
72
+
73
+ }
74
+
75
+ else
76
+
77
+ {
78
+
79
+ }
80
+
81
+ /*EOF が現れるまで 1 文字ずつ読みとる*/
82
+
83
+ while((ch = getc(fp)) != EOF)
84
+
85
+ {
86
+
87
+ // printf("standerd back=%c ch=%c\n",back,ch);
88
+
89
+ /* '/''*'の文字かどうか判定する*/
90
+
91
+ if(back=='/' && ch=='*')
92
+
93
+ {
94
+
95
+ /* '/''*'の場合はEOFまで1文字ずつ読み取る*/
96
+
97
+ while((ch = getc(fp)) != EOF)
98
+
99
+ {
100
+
101
+ //printf("innet back=%c ch=%c\n",back,ch);
102
+
103
+ /*一文字ずつ読み取り'*''/'を読み取ったらループを抜ける*/
104
+
105
+ if(back=='*' && ch=='/')
106
+
107
+ {
108
+
109
+ break;
110
+
111
+ }
112
+
113
+ /*一文字前に読み取った文字を代入する*/
114
+
115
+ back=ch;
116
+
117
+ }
118
+
119
+ }else
120
+
121
+ {
122
+
123
+ back=ch;
124
+
125
+ /*文字数を増やす*/
126
+
127
+ character++;
128
+
129
+ /*改行なら行数を増やす*/
130
+
131
+ if(ch=='\n')
132
+
133
+ {
134
+
135
- line++;
135
+ line++;
136
+
137
+ }
138
+
139
+ /*空白、改行、タブの場合は空白とする。*/
140
+
141
+ if(ch==' '||ch=='\n'||ch=='\t')
142
+
143
+ {
144
+
145
+ whitespace = TRUE;
146
+
147
+ }
148
+
149
+ /*空白の場合は単語を増やす*/
150
+
151
+ else if(whitespace)
152
+
153
+ {
154
+
155
+ whitespace = FALSE;
156
+
157
+ /*単語数を増やす*/
158
+
159
+ word++;
160
+
161
+ }
162
+
163
+ }
164
+
165
+ }
166
+
167
+ printf("行数=%d 単語数=%d 文字数=%d\n", line, word, character);
168
+
169
+ fclose(fp);
170
+
171
+ exit(0);
136
172
 
137
173
  }
138
-
139
- /*空白、改行、タブの場合は空白とする。*/
140
-
141
- if(ch==' '||ch=='\n'||ch=='\t')
142
-
143
- {
144
-
145
- whitespace = TRUE;
146
-
147
- }
148
-
149
- /*空白の場合は単語を増やす*/
150
-
151
- else if(whitespace)
152
-
153
- {
154
-
155
- whitespace = FALSE;
156
-
157
- /*単語数を増やす*/
158
-
159
- word++;
160
-
161
- }
162
-
163
- }
164
-
165
- }
166
-
167
- printf("行数=%d 単語数=%d 文字数=%d\n", line, word, character);
168
-
169
- fclose(fp);
170
-
171
- exit(0);
172
-
173
- }