質問編集履歴

3

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

2020/02/04 05:22

投稿

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

2

一部変更

2020/02/04 05:22

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- コマンド-分数の小数表示
1
+ 分数の小数表示 計算
test CHANGED
@@ -1,58 +1,10 @@
1
- ■やりたい
1
+ 循環し整数を計算し出力に書き出すプログラムですが、まいち内容がよく分かりません。
2
2
 
3
- マン行引数与えらる2つの正整数 m, n ( 1 < n < 10000000 ) を読み取り、m/n の小数表示を標準出力に書き出プログラムを作る
3
+ 自体を書いてみましたが。所何処間違っいると思わす。
4
4
 
5
+ 詳しい方、細かく教えて下さい。宜しくお願いします。
5
6
 
6
-
7
- 与えられる m, n は、m が n では割り切れないものとする。出力は左詰に m を書き出し、 / に続いて n を書き出す。 続けて、空白を前後に置いて = を書き出し、整数部に続けて . を書き出し、以後小数部を書き出して最後に改行を行え。 小数部は、循環小数になる場合は非循環部を書き出した後、' を書き出し1度だけ循環部を書き出すこと。 有限小数になる場合はその小数部を書き出すこと。
8
-
9
-
10
-
11
- 実行例
12
-
13
-
14
-
15
- コマンドライン入力
16
-
17
- 71 8
18
-
19
- 標準入力
20
-
21
- 標準出力
22
-
23
- 71/8 = 8.875
24
-
25
-
26
-
27
- コマンドライン入力
28
-
29
- 13 7
30
-
31
- 標準入力
32
-
33
- 標準出力
34
-
35
- 13/7 = 1.'857142
36
-
37
-
38
-
39
- コマンドライン入力
40
-
41
- 10 6
42
-
43
- 標準入力
44
-
45
- 標準出力
46
-
47
- 10/6 = 1.'6
48
-
49
-
50
-
51
- ■自分なりに作成してみましたが思うような出力となりません。
52
-
53
- 修正箇所教えて頂きたく。
7
+ 追加・削除箇所教えて下さい。宜しお願い致します
54
-
55
-
56
8
 
57
9
  ```C
58
10
 
@@ -68,39 +20,19 @@
68
20
 
69
21
  scanf("%d", &n);
70
22
 
71
- int rr[n], qq[n];
72
23
 
24
+
73
- int r, q, i, j, k;
25
+ int r, j, k;
74
26
 
75
27
 
76
28
 
77
- r= 1; k= 0;
29
+ k= 0;
78
30
 
79
- for(i= 1; r!=0 && k==0; i++){
31
+
80
-
81
- rr[i]= r;
82
-
83
- r*= 10;
84
-
85
- q= r/n; qq[i]= q;
86
-
87
- r= r%n;
88
-
89
- for(k= i; k!=0 && rr[k]!=r; k--);
90
32
 
91
33
  }
92
34
 
93
- printf("0.");
94
-
95
- for(j= 1; j!=i; j++){
96
-
97
- if( r!=0 && j==k ) printf("'");
98
-
99
- printf("%d", qq[j]);
100
-
101
- }
102
-
103
- printf("\n");
35
+ printf("%d\n",k);
104
36
 
105
37
 
106
38
 

1

一部変更

2020/02/01 12:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,10 @@
1
1
  ■やりたい事
2
2
 
3
- コマンド行引数として与えられる2つの正整数 m, n ( 1 < n < 9500 ) を読み取り、m/n の小数表示を標準出力に書き出す。
3
+ コマンド行引数として与えられる2つの正整数 m, n ( 1 < n < 10000000 ) を読み取り、m/n の小数表示を標準出力に書き出すプログラムを作る
4
4
 
5
+
6
+
5
- 与えられる m, n は、m が n では割り切れないものとする。出力は左詰に m を書き出し、 / に続いて n を書き出す。 続けて、空白を前後に置いて = を書き出し、整数部に続けて . を書き出し、以後小数部を書き出して最後に改行を行え。 小数部は、循環小数になる場合は非循環部を書き出した後、' を書き出し1度だけ循環部を書き出す 有限小数になる場合はその小数部を書き出す。
7
+ 与えられる m, n は、m が n では割り切れないものとする。出力は左詰に m を書き出し、 / に続いて n を書き出す。 続けて、空白を前後に置いて = を書き出し、整数部に続けて . を書き出し、以後小数部を書き出して最後に改行を行え。 小数部は、循環小数になる場合は非循環部を書き出した後、' を書き出し1度だけ循環部を書き出すこと。 有限小数になる場合はその小数部を書き出すこと
6
8
 
7
9
 
8
10