• ベストアンサー

C言語の問題で困っています。

C言語の問題で困っています。 誰か教えてください。 下の問題ですが、intがiだけでプログラムするにはどうしたら良いでしょうか? (a)から(d)に入るプログラムをすいませんが教えてください。 お願いします。 【問題】 1以上10以下の整数を昇順に区切って表示するプログラムです。 実行例 1 2 3 4 5 #include <stdio.h> int main (void) { int i; (A) while ((b)){ (c); (d); } printf("¥n"); return(0); }

質問者が選んだベストアンサー

  • ベストアンサー
  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.4

 カテゴリ違いでは?一応、わかる範囲で回答しますが。 まず、 >1以上10以下の整数を昇順に区切って表示する とありながら、 >実行例 1 2 3 4 5 とあるのは、どうしてでしょう。これだと、「1以上5以下の整数」ですが。 (A) i の値を初期化します。while() の中に入れる条件によりますが、i=0; か i=1; のどちらかでしょう。 (b) ここで i を判定します。「10以下」だったら、 i<=10 だし、「5以下」だったら i<=5 でしょうか。C言語だと、ここに i をインクリメントしてから判断するのが普通かも。その場合、++i<=10 みたいに。 (c)(d) は、整数と区切りの空白を出力します。while にインクリメントがないときはインクリメントします。 (c) printf(" %d",i) (d) i++ という感じでしょうか。 while でインクリメントしておれば、(d) は不要。 > printf("¥n"); ¥ が全角文字だとうまく動きませんよ。

koi4164
質問者

補足

回答有り難うございました。 こちらの質問がよくありませんでした。すいません。 質問は1以上5以下の整数です。 下のようになったのですがこれでよろしいでしょうか? また、回答を下さった文で "(c)(d) は、整数と区切りの空白を出力します。"とは どういう意味でしょうか? 教えて頂けるようお願いいたします。 int main(void) { int i; i=1; while(i<=5) { printf(" %d",i); i++; } printf("\n"); return 0;

その他の回答 (3)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.3

#2です。 降順ででちゃった…w

koi4164
質問者

お礼

解答有り難うございました。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

実行例をただ出力するだけなら、 #include <stdio.h> int main (void) { int i; scanf("%d",&i); while (i>0){ printf("%d ",i); i--; } printf("\n"); return(0); } 10以上だったときの判定はしてない。 ※「¥n」はだめだよ? ※「\n」にしようね。 ※こんな、あやしいプログラムは普通書かない…。

koi4164
質問者

お礼

解答有り難うございました。 もう少し本を読んで勉強いたします。

  • orcus0930
  • ベストアンサー率41% (62/149)
回答No.1

カテゴリー違い. しかし,基本的な問題なので,Cの本を読みましょう. まあ,何番から何番までを昇順に表示するかを 既知のものとしてコードの中に組み込んでいいなら, printfしてインクリメントするだけ.

koi4164
質問者

お礼

解答有り難うございました。 確かにその通りです。 もう少し本を読んでみます。

関連するQ&A