回答編集履歴

4

修正版コードを記述

2020/07/20 04:14

投稿

fana
fana

スコア11996

test CHANGED
@@ -81,3 +81,65 @@
81
81
  }
82
82
 
83
83
  ```
84
+
85
+
86
+
87
+ ---
88
+
89
+
90
+
91
+ ↑だと間違っていた.修正版:
92
+
93
+ ```
94
+
95
+ int Judge( const char *Str )
96
+
97
+ {
98
+
99
+ int L = strlen( Str );
100
+
101
+ int N = 0;
102
+
103
+ for( int i=L-1; i>=0; --i )
104
+
105
+ {
106
+
107
+ switch( Str[i] )
108
+
109
+ {
110
+
111
+ case 'x':
112
+
113
+ ++N;
114
+
115
+ break;
116
+
117
+ case 'f':
118
+
119
+ if( N<1 )return 0;
120
+
121
+ break;
122
+
123
+ case 'g':
124
+
125
+ if( N<2 )return 0;
126
+
127
+ --N;
128
+
129
+ break;
130
+
131
+ default:
132
+
133
+ return 0;
134
+
135
+ break;
136
+
137
+ }
138
+
139
+ }
140
+
141
+ return ( (N==1) ? 1 : 0 );
142
+
143
+ }
144
+
145
+ ```

3

まちがった…

2020/07/20 04:14

投稿

fana
fana

スコア11996

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  case 'g':
34
34
 
35
- if( N==2 ){ N=1; return 0; }
35
+ if( N==2 ){ N=1; break; }
36
36
 
37
37
  return 0;
38
38
 

2

修正ミスったのを修正

2020/07/20 04:04

投稿

fana
fana

スコア11996

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  case 'g':
34
34
 
35
- if( N==2 ){ N=1; 0; }
35
+ if( N==2 ){ N=1; return 0; }
36
36
 
37
37
  return 0;
38
38
 

1

falseとか書いてたので修正

2020/07/20 04:03

投稿

fana
fana

スコア11996

test CHANGED
@@ -26,23 +26,23 @@
26
26
 
27
27
  case 'f':
28
28
 
29
- if( N==0 )return false;
29
+ if( N==0 )return 0;
30
30
 
31
31
  break;
32
32
 
33
33
  case 'g':
34
34
 
35
- if( N==2 ){ N=1; break; }
35
+ if( N==2 ){ N=1; 0; }
36
36
 
37
- return false;
37
+ return 0;
38
38
 
39
- default: return false;
39
+ default: return 0;
40
40
 
41
41
  }
42
42
 
43
43
  }
44
44
 
45
- return (N==1);
45
+ return ( (N==1) ? 1 : 0 );
46
46
 
47
47
  }
48
48