回答編集履歴
2
i > 1 を i > 0 に修正
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
m *= 10;
|
17
17
|
}
|
18
18
|
printf("%d/%d = %d", m0, n, q[0]);
|
19
|
-
if (m || i >
|
19
|
+
if (m || i > 0) putchar('.');
|
20
20
|
for (j = 1; j <= i; j++) {
|
21
21
|
if (m && j == p[m]) putchar('\'');
|
22
22
|
printf("%d", q[j]);
|
1
コードの修正
answer
CHANGED
@@ -5,8 +5,9 @@
|
|
5
5
|
|
6
6
|
int main(void)
|
7
7
|
{
|
8
|
-
int i, j, n,
|
8
|
+
int i, j, m, n, m0, q[NUM], p[NUM] = { 1 };
|
9
9
|
if (scanf("%d%d", &m, &n) != 2 || m < 1 || n <= 1 || n >= NUM) return 1;
|
10
|
+
m0 = m;
|
10
11
|
for (i = 0; i < NUM; i++) {
|
11
12
|
q[i] = m / n;
|
12
13
|
m %= n;
|
@@ -14,8 +15,8 @@
|
|
14
15
|
p[m] = i + 1;
|
15
16
|
m *= 10;
|
16
17
|
}
|
17
|
-
printf("%d", q[0]);
|
18
|
+
printf("%d/%d = %d", m0, n, q[0]);
|
18
|
-
if (m) putchar('.');
|
19
|
+
if (m || i > 1) putchar('.');
|
19
20
|
for (j = 1; j <= i; j++) {
|
20
21
|
if (m && j == p[m]) putchar('\'');
|
21
22
|
printf("%d", q[j]);
|
@@ -23,6 +24,10 @@
|
|
23
24
|
printf("\n");
|
24
25
|
return 0;
|
25
26
|
}
|
27
|
+
|
26
28
|
```
|
27
29
|
理解できましたか?
|
28
|
-
疑問点は質問してください。
|
30
|
+
疑問点は質問してください。
|
31
|
+
|
32
|
+
**追記**
|
33
|
+
ちょっとソースを修正しました。
|