回答編集履歴

1

0 で割った時 error を表示するコードを追加

2020/06/10 14:32

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -109,3 +109,65 @@
109
109
  }
110
110
 
111
111
  ```
112
+
113
+ **追記**
114
+
115
+ なぜ、質問者は何も応答しないのでしょうか?
116
+
117
+
118
+
119
+ 0 で割った時は error と表示するようにしてみました。
120
+
121
+ ```C
122
+
123
+ #include <stdio.h>
124
+
125
+
126
+
127
+ int err = 0, a[4]; char o[3];
128
+
129
+
130
+
131
+ void func(int n, int v)
132
+
133
+ {
134
+
135
+ if (n == 0) {
136
+
137
+ printf("%d %c (%d %c (%d %c %d)) = ",
138
+
139
+ a[0], o[0], a[1], o[1], a[2], o[2], a[3]);
140
+
141
+ if (err) puts("error"); else printf("%d\n", v);
142
+
143
+ err = 0;
144
+
145
+ }
146
+
147
+ else {
148
+
149
+ n--;
150
+
151
+ o[n] = '+'; func(n, a[n] + v);
152
+
153
+ o[n] = '-'; func(n, a[n] - v);
154
+
155
+ o[n] = '*'; func(n, a[n] * v);
156
+
157
+ o[n] = '/'; func(n, v == 0 ? err = 1 : a[n] / v);
158
+
159
+ }
160
+
161
+ }
162
+
163
+
164
+
165
+ int main(void)
166
+
167
+ {
168
+
169
+ if (scanf("%d%d%d%d", a, a+1, a+2, a+3) == 4) func(3, a[3]);
170
+
171
+ }
172
+
173
+ ```