質問編集履歴
2
削除された内容の復元を行いました
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
整数を出力
|
1
|
+
コマンドラインの整数を出力
|
body
CHANGED
@@ -1,32 +1,37 @@
|
|
1
|
-
|
1
|
+
コマンドラインに整数nが入力された時に1 から n までの整数について、 順にその整数とその2乗を出力に書き出す。もとの整数には3桁の幅を使い、2乗には6桁の幅を使って書き出し、その間には空白1文字をおくこと。 n が負または0であった時には何も書き出さないようにすること。
|
2
|
-
|
2
|
+
実行例
|
3
|
-
|
3
|
+
コマンドライン
|
4
|
+
4
|
5
|
+
出力
|
4
|
-
|
6
|
+
1 1
|
5
|
-
|
7
|
+
2 4
|
8
|
+
3 9
|
9
|
+
4 16
|
10
|
+
コマンドライン
|
11
|
+
0
|
12
|
+
出力
|
6
13
|
```c
|
7
14
|
#include <stdio.h>
|
8
15
|
#include <stdlib.h>
|
9
|
-
|
10
|
-
|
16
|
+
int main(int argc, char *argv[]){
|
11
|
-
|
17
|
+
int i;
|
18
|
+
int n;
|
19
|
+
|
20
|
+
for(i=1;i<argc;i++){
|
12
|
-
|
21
|
+
n=atoi(argv[i]);
|
22
|
+
printf("%3d %6d\n",n,n*2);
|
13
|
-
|
23
|
+
if(n<=0)
|
14
|
-
|
15
|
-
|
24
|
+
printf("\n");
|
16
|
-
|
25
|
+
|
17
|
-
|
18
|
-
|
19
|
-
while(decimal>0){
|
20
|
-
binary = binary + ( decimal % 2 ) * base;
|
21
|
-
decimal = decimal / 2;
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
}
|
25
|
-
|
27
|
+
return 0;
|
26
28
|
}
|
27
29
|
```
|
28
|
-
|
29
|
-
上記のように書いてみましたが
|
30
|
+
上記のように書いてみましたが出力結果が思うようにいきません。
|
30
|
-
|
31
|
+
コマンドライン
|
32
|
+
4
|
33
|
+
出力
|
34
|
+
4 8
|
35
|
+
となってしまいます。
|
31
|
-
良いか教えて頂きたく。
|
36
|
+
どこをどう修正すれば良いか教えて頂きたく。
|
32
37
|
宜しくお願い致します。
|
1
一部変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
整数を出力 並べ替え
|
body
CHANGED
@@ -1,44 +1,32 @@
|
|
1
|
-
|
1
|
+
循環した整数を計算し出力に書き出すプログラムですが、いまいち内容がよく分かりません。
|
2
|
+
コード自体を書いてみましたが。所何処と間違っていると思われます。
|
3
|
+
詳しい方、細かく教えて下さい。宜しくお願いします。
|
4
|
+
追加・削除箇所も教えて下さい。宜しくお願い致します。
|
2
5
|
|
3
|
-
実行例
|
4
|
-
コマンドライン
|
5
|
-
4
|
6
|
-
出力
|
7
|
-
1 1
|
8
|
-
2 4
|
9
|
-
3 9
|
10
|
-
4 16
|
11
|
-
|
12
|
-
コマンドライン
|
13
|
-
0
|
14
|
-
出力
|
15
|
-
|
16
6
|
```c
|
17
7
|
#include <stdio.h>
|
18
8
|
#include <stdlib.h>
|
19
9
|
|
20
|
-
|
10
|
+
i
|
21
|
-
int
|
11
|
+
int decimal;
|
22
|
-
int n;
|
23
|
-
|
24
|
-
for(i=1;i<argc;i++){
|
25
|
-
|
12
|
+
int binary = 0;
|
26
|
-
printf("%3d %6d\n",n,n*2);
|
27
|
-
|
13
|
+
int base = 1;
|
14
|
+
|
28
|
-
printf("
|
15
|
+
printf("10進数 = ");
|
16
|
+
scanf("%d", &decimal);
|
17
|
+
|
18
|
+
|
19
|
+
while(decimal>0){
|
20
|
+
binary = binary + ( decimal % 2 ) * base;
|
21
|
+
decimal = decimal / 2;
|
22
|
+
|
29
23
|
|
30
24
|
}
|
31
25
|
return 0;
|
32
26
|
}
|
33
27
|
```
|
34
28
|
|
35
|
-
上記のように書いてみましたが
|
29
|
+
上記のように書いてみましたが
|
36
30
|
|
37
|
-
コマンドライン
|
38
|
-
4
|
39
|
-
出力
|
40
|
-
4 8
|
41
|
-
|
42
|
-
となってしまいます。
|
43
|
-
|
31
|
+
良いか教えて頂きたく。
|
44
32
|
宜しくお願い致します。
|