teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

i > 1 を i > 0 に修正

2019/11/13 12:45

投稿

kazuma-s
kazuma-s

スコア8222

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 > 1) putchar('.');
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

コードの修正

2019/11/13 12:45

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -5,8 +5,9 @@
5
5
 
6
6
  int main(void)
7
7
  {
8
- int i, j, n, m = 1, q[NUM], p[NUM] = { 1 };
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
+ ちょっとソースを修正しました。