• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で分からないところがあるのですが……)

C言語で分からないところがある……

このQ&Aのポイント
  • C言語の課題で分からないところがあり、質問しに来ました。ユーザから数を受けて、そこまでのフィボナッチ数列を表示させるというプログラムです。for文を使って、繰り返しの作業を行うことに成功しましたが、doとwhileに書き換える作業がうまくできません。
  • C言語の課題で分からないところがあり、質問しに来ました。プログラムの目的は、ユーザから入力された数までのフィボナッチ数列を表示することです。for文を使用して繰り返し処理を実装しましたが、この処理をdoとwhile文で書き換える方法がわかりません。
  • C言語の課題でつまづいています。ユーザからの入力を受けて、その数以下のフィボナッチ数列を表示するプログラムを作成しています。for文での実装は成功しましたが、doとwhile文に書き換える方法がわかりません。どなたか助けていただけないでしょうか?

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

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

課題なら自分でやるべきなんじゃないの。 少なくともやれるだけやって、どうなのかを聞くならいいけど、丸投げでしょ。 質問サイトが全滅したらどうするの? doとwhileの意味は理解できてるの? do { 処理 }while(繰り返し条件) ;

noname#160322
質問者

お礼

全く持ってその通りでした。 doとwhileの意味は理解していて、実際に書いてみたのですが、なぜか分からずじまいでして……

その他の回答 (2)

  • hiropuri
  • ベストアンサー率55% (24/43)
回答No.3

whileもif文やfor文と同じで、基本文法です。つまり、 自力でプログラムを組むのに必須な項目となります。 苦手意識を持たず、ご自身で調査・理解しておいた方が いいかと……落ち着いて考えれば難しくありませんよ(^^ (1)-------------------- for(i=1; i<=n; i++) { // 何かしらの処理 } (2)-------------------- i=1; do{ // 何かしらの処理 i++; }while(i<=n); (3)-------------------- i=1; while(i<=n) { // 何かしらの処理 i++; } (だ~っと書いたので、細かい点が間違えてたらすみません) 上記の(1)~(3)は、ほぼ同じ動作となります。 ただし(2)については要注意です。後判定なので、 「条件に関係なく、必ず一度は処理される」事になります。 状況によって上手く使い分けましょう。 ※step実行できる環境があるなら、落ち着いて1stepずつ 動かしてみると判りやすいですよ~!

noname#160322
質問者

お礼

回答ありがとうございました。 whileは教授に質問して自力で解きましたが、doのところは参照させてもらいました。 ありがとうございました。

  • infeeld
  • ベストアンサー率37% (3/8)
回答No.2

以下はどうでしょう。 i = 1; do {   if (i <= n) {     break;   }   printf("F%d = %d\n",i, fib(i));   i++; } while(1); 「ループ 前判定 後判定」でググって見てください。 forとwhileは前判定、do-whileは後判定です。 後判定の場合、必ず1回はループ内のブロックが実行されるというのがポイントです。 頑張って下さい。

noname#160322
質問者

お礼

ありがとうございました。 無事完成しました。

関連するQ&A