コマンドラインに整数nが入力された時に1 から n までの整数について、 順にその整数とその2乗を出力に書き出す。もとの整数には3桁の幅を使い、2乗には6桁の幅を使って書き出し、その間には空白1文字をおくこと。 n が負または0であった時には何も書き出さないようにすること。
実行例
コマンドライン
4
出力
1 1
2 4
3 9
4 16
コマンドライン
0
出力
c
1#include <stdio.h> 2#include <stdlib.h> 3int main(int argc, char *argv[]){ 4 int i; 5 int n; 6 7 for(i=1;i<argc;i++){ 8 n=atoi(argv[i]); 9 printf("%3d %6d\n",n,n*2); 10 if(n<=0) 11 printf("\n"); 12 13 } 14 return 0; 15}
上記のように書いてみましたが出力結果が思うようにいきません。
コマンドライン
4
出力
4 8
となってしまいます。
どこをどう修正すれば良いか教えて頂きたく。
宜しくお願い致します。
4が入力されたら、ループは4回にしたいのですよね?
ループをargc回まわそうとしていますが、argcに何が入っているのかを確認してみてください。