質問編集履歴

2

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

2020/02/04 05:26

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 整数を出力 並べ替え
1
+ コマンドラインの整数を出力
test CHANGED
@@ -1,12 +1,26 @@
1
- 循環した整数を計算し出力に書き出すプログラムです、いまいち内容がく分かりません
1
+ コマンドラインに整数nが入力され時に1 から n までの整数について、 順にその整数とその2乗を出力に書き出す。もとの整数には3桁の幅を使い、2乗には6桁の幅を使って書き出し、その間には空白1文字をおくこと。 n たは0であった時には何も書き出さないようにすること
2
2
 
3
- コード自体を書いてみましたが。所何処と間違っていると思われます。
3
+ 実行例
4
4
 
5
- 詳しい方、細かく教えて下さい。宜しくお願いします。
5
+ コマンドライン
6
6
 
7
- 追加・削除箇所も教えて下さい。宜しくお願い致します。
7
+ 4
8
8
 
9
+ 出力
9
10
 
11
+ 1 1
12
+
13
+ 2 4
14
+
15
+ 3 9
16
+
17
+ 4 16
18
+
19
+ コマンドライン
20
+
21
+ 0
22
+
23
+ 出力
10
24
 
11
25
  ```c
12
26
 
@@ -14,50 +28,46 @@
14
28
 
15
29
  #include <stdlib.h>
16
30
 
31
+ int main(int argc, char *argv[]){
17
32
 
33
+ int i;
18
34
 
19
- i
35
+ int n;
20
36
 
21
- int decimal;
37
+
22
38
 
23
- int binary = 0;
39
+ for(i=1;i<argc;i++){
24
40
 
25
- int base = 1;
41
+ n=atoi(argv[i]);
26
42
 
27
-
43
+ printf("%3d %6d\n",n,n*2);
28
44
 
29
- printf("10進数 = ");
45
+ if(n<=0)
30
46
 
31
- scanf("%d", &decimal);
47
+ printf("\n");
32
48
 
33
-
49
+
34
50
 
35
-
51
+ }
36
52
 
37
- while(decimal>0){
38
-
39
- binary = binary + ( decimal % 2 ) * base;
40
-
41
- decimal = decimal / 2;
42
-
43
-
44
-
45
-
46
-
47
- }
48
-
49
- return 0;
53
+ return 0;
50
54
 
51
55
  }
52
56
 
53
57
  ```
54
58
 
59
+ 上記のように書いてみましたが出力結果が思うようにいきません。
55
60
 
61
+ コマンドライン
56
62
 
57
- 上記のように書いてみましたが
63
+ 4
58
64
 
65
+ 出力
59
66
 
67
+ 4   8
60
68
 
69
+ となってしまいます。
70
+
61
- 良いか教えて頂きたく。
71
+ どこをどう修正すれば良いか教えて頂きたく。
62
72
 
63
73
  宜しくお願い致します。

1

一部変更

2020/02/04 05:26

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- コマンドラインの整数を出力
1
+ 整数を出力 並べ替え
test CHANGED
@@ -1,30 +1,10 @@
1
- コマンドラインに整数nが入力され時に1 から n までの整数について、 順にその整数とその2乗を出力に書き出す。もとの整数には3桁の幅を使、2乗には6桁の幅を使って書き出し、その間には空白1文字をおくこと。 n が負たは0であった時には何も書き出さないようにすること
1
+ 循環した整数を計算し出力に書き出すプログラムですが、いまいち内容がく分かりません
2
2
 
3
+ コード自体を書いてみましたが。所何処と間違っていると思われます。
3
4
 
5
+ 詳しい方、細かく教えて下さい。宜しくお願いします。
4
6
 
5
- 実行例
6
-
7
- コマンドライン
8
-
9
- 4
10
-
11
- 出力
12
-
13
- 1 1
7
+ 追加・削除箇所も教えて下さい。宜しくお願い致します。
14
-
15
- 2 4
16
-
17
- 3 9
18
-
19
- 4 16
20
-
21
-
22
-
23
- コマンドライン
24
-
25
- 0
26
-
27
- 出力
28
8
 
29
9
 
30
10
 
@@ -36,23 +16,31 @@
36
16
 
37
17
 
38
18
 
39
- int main(int argc, char *argv[]){
19
+ i
40
20
 
41
- int i;
21
+ int decimal;
42
22
 
43
- int n;
23
+ int binary = 0;
44
24
 
45
-
25
+ int base = 1;
46
26
 
47
- for(i=1;i<argc;i++){
27
+
48
28
 
49
- n=atoi(argv[i]);
29
+ printf("10進数 = ");
50
30
 
51
- printf("%3d %6d\n",n,n*2);
31
+ scanf("%d", &decimal);
52
32
 
53
- if(n<=0)
33
+
54
34
 
35
+
36
+
55
- printf("\n");
37
+ while(decimal>0){
38
+
39
+ binary = binary + ( decimal % 2 ) * base;
40
+
41
+ decimal = decimal / 2;
42
+
43
+
56
44
 
57
45
 
58
46
 
@@ -66,22 +54,10 @@
66
54
 
67
55
 
68
56
 
69
- 上記のように書いてみましたが出力結果が思うようにいきません。
57
+ 上記のように書いてみましたが
70
58
 
71
59
 
72
60
 
73
- コマンドライン
74
-
75
- 4
76
-
77
- 出力
78
-
79
- 4   8
80
-
81
-
82
-
83
- となってしまいます。
84
-
85
- どこをどう修正すれば良いか教えて頂きたく。
61
+ 良いか教えて頂きたく。
86
62
 
87
63
  宜しくお願い致します。