質問編集履歴

2

削除された内容の復元を行いました

2020/02/04 04:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,15 +4,19 @@
4
4
 
5
5
 
6
6
 
7
+ 標準入力に与えられる2つの正整数 m, n ( 1 < n < 9500 ) を読み取り、 m/n の小数表示を標準出力に書き出すプログラムを作成したいです。
7
8
 
9
+ m, n は、m が n では割り切れないもので、出力は必要最小限の桁数で m を書き出し、 / に続いて必要最小限の桁数で n を書き出す。 続けて、空白を前後に置いて = を書き出し、整数部に続けて . を書き出し、 以後小数部を書き出して最後に改行を行え。 小数部は、循環小数になる場合は非循環部を書き出した後、' を書き出し1度だけ循環部を書き出し。 有限小数になる場合はその小数部を書き出すプログラムです。
8
10
 
9
- 循環した整数を計算し出力に書き出すプログラムですが、いまいち内容がよく分かりません。
11
+ 実行例
10
12
 
11
- コード自体を書いてみましたが。所何処と間違っていると思われます。
13
+ 標準入力
12
14
 
13
- 詳しい方、細かく教えて下さい。宜しくお願いします。
15
+ 71 8
14
16
 
17
+ 標準出力
18
+
15
- 追加・削除箇所も教えて下さい。宜しくお願い致します。
19
+ 71/8 = 8.875
16
20
 
17
21
 
18
22
 
@@ -30,7 +34,7 @@
30
34
 
31
35
  #include <stdio.h>
32
36
 
33
-
37
+ #include <stdlib.h>
34
38
 
35
39
 
36
40
 
@@ -40,31 +44,39 @@
40
44
 
41
45
 
42
46
 
43
- fscanf("%d", &n);
47
+ scanf("%d", &n);
44
48
 
45
- int n;
49
+ int rr[n], qq[n];
46
50
 
47
- int r, q, i, j, p;
51
+ int r, q, i, j, k;
48
52
 
49
53
 
50
54
 
51
- p=5;
55
+ r= 1; k= 0;
52
56
 
53
- for(i= 1; r!=0 && k==n; k++){
57
+ for(i= 1; r!=0 && k==0; i++){
54
58
 
59
+ rr[i]= r;
60
+
61
+ r*= 10;
62
+
63
+ q= r/n; qq[i]= q;
64
+
55
-    p= r;
65
+ r= r%n;
66
+
67
+ for(k= i; k!=0 && rr[k]!=r; k--);
56
68
 
57
69
 
58
70
 
59
71
  }
60
72
 
61
- printf("昨日からの ");
73
+ printf("r/q = ");
62
74
 
63
- for(j= 0; n=p; k--){
75
+ for(j= 1; j!=i; j++){
64
76
 
65
- if( p<=k ) printf("\n");
77
+ if( r!=0 && j==k ) printf("'");
66
78
 
67
- printf("%d", p);
79
+ printf("%d", qq[j]);
68
80
 
69
81
  }
70
82
 

1

一部変更

2020/02/04 04:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,23 +2,17 @@
2
2
 
3
3
 
4
4
 
5
- 標準入力に与えられる2つの正整数 m, n ( 1 < n < 9500 ) を読み取り、 m/n の小数表示を標準出力に書き出すプログラムを作成したいです。
6
5
 
7
6
 
8
7
 
9
- m, n は、m が n では割り切れないもので、出力は必要最小限の桁数で m を書き出し、 / に続いて必要最小限の桁数で n を書き出す。 続けて、空白を前後に置いて = を書き出し、整数部に続けて . を書き出し、 以後小数部を書き出して最後に改行を行え。 小数部は、循環小数になる場合は非循環部を書き出した後、' を書き出し1度だけ循環部を書き出し。 有限小数になる場合はその小数部を書き出すプログラムです。
10
8
 
9
+ 循環した整数を計算し出力に書き出すプログラムですが、いまいち内容がよく分かりません。
11
10
 
11
+ コード自体を書いてみましたが。所何処と間違っていると思われます。
12
12
 
13
- 実行例
13
+ 詳しい方、細かく教えて下さい。宜しくお願いします。
14
14
 
15
- 標準入力
16
-
17
- 71 8
18
-
19
- 標準出力
20
-
21
- 71/8 = 8.875
15
+ 追加・削除箇所も教えて下さい。宜しくお願い致します。
22
16
 
23
17
 
24
18
 
@@ -36,7 +30,7 @@
36
30
 
37
31
  #include <stdio.h>
38
32
 
39
- #include <stdlib.h>
33
+
40
34
 
41
35
 
42
36
 
@@ -46,37 +40,31 @@
46
40
 
47
41
 
48
42
 
49
- scanf("%d", &n);
43
+ fscanf("%d", &n);
50
44
 
51
- int rr[n], qq[n];
45
+ int n;
52
46
 
53
- int r, q, i, j, k;
47
+ int r, q, i, j, p;
54
48
 
55
49
 
56
50
 
57
- r= 1; k= 0;
51
+ p=5;
58
52
 
59
- for(i= 1; r!=0 && k==0; i++){
53
+ for(i= 1; r!=0 && k==n; k++){
60
54
 
61
- rr[i]= r;
55
+    p= r;
62
56
 
63
- r*= 10;
64
57
 
65
- q= r/n; qq[i]= q;
66
-
67
- r= r%n;
68
-
69
- for(k= i; k!=0 && rr[k]!=r; k--);
70
58
 
71
59
  }
72
60
 
73
- printf("r/q = ");
61
+ printf("昨日からの ");
74
62
 
75
- for(j= 1; j!=i; j++){
63
+ for(j= 0; n=p; k--){
76
64
 
77
- if( r!=0 && j==k ) printf("'");
65
+ if( p<=k ) printf("\n");
78
66
 
79
- printf("%d", qq[j]);
67
+ printf("%d", p);
80
68
 
81
69
  }
82
70