• ベストアンサー

奇数の足し段

初心者です。 キーボードから値を入力して、1から入力された値までの奇数の和を求めて出力するプログラムを作成します。 ただし、for文で完成させます。 また、0 や負数が入力された場合は合計値を0と表示出来るように したいのですが? ご理解のある方助言願います。

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

  • ベストアンサー
  • Interest
  • ベストアンサー率31% (207/659)
回答No.3

0から10まで教えてください、ってのは感心しませんね。自力で努力して分からないところを手助けしてもらうようにしましょう。 ということで、考え方というか処理構造だけ擬似コードで示します。 メイン関数 {  /* 変数の宣言 */  整数型 入力値、和;  整数型 カウンタ;  和=0;  キーボードから値を入力する;  if(入力値が正の数なら){   for(カウンタ=1から入力値まで、カウンタを2増加){    和=和+カウンタ;   }  }  和を表示する;  リターン; } #2の方が書かれた += というのは、例えば a+=2なら a = a+2; のことです。

ranhebo2
質問者

お礼

とても理解しやすい回答ありがとう御座います。 ありがとう御座いました。

その他の回答 (3)

回答No.4

どの環境でプログラムを作成されているのかは分かりませんので 入力値を取得する部分・表示する部分は割愛しますね。 入力値をint InputDataとします。 int Sum; // 合計 int i; int MaxOdd; // 最大奇数 Sum = 0; // 合計を0にする // 0以下であれば if( InputData<=0 ) { return;// 終了 } // 偶数のとき(2で割り切れるはず) if( InputData%2==0 ) { MaxOdd = InputData-1; // 最大奇数は入力値より一つ下の値 } // 奇数のとき else { MaxOdd = InputData;// そのまま } // 合計を求める for( i=1 ; i<=MaxOdd ; ) { Sum = Sum + i;// iをプラスする i=i+2;//次の奇数へ進める } あとはSumを表示するだけです

ranhebo2
質問者

お礼

とても理解しやすい回答ありがとう御座います。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

#1です。 全く判らないと言うことですか? 入力された値を変数「inp_n」とすると for(i=1;i<=inp_n;i+=2){ でいいと思いますが・・・。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

for文なら、1から初めて「++」するところを「+=2」にすれば?

ranhebo2
質問者

補足

早速、回答ありがとう御座います。 +=2? どの様なプログラムでしょうか? よろしく願い致します。

関連するQ&A