• 締切済み

プログラミングのC言語について質問です。

プログラミングのC言語について質問です。 身長をS(cm)T(kg)に入力して、身体比bmiをしたの式で計算し、体型を判定して身長、体重、及び体型を出力するプログラムを作成せよ。ただし、入力データは4種類あるので{データの入力、計算、判定、出力}を繰り返し命令によって、4回繰り返すようにする。 身長比 (body mass index) : bmi = 体重÷身長の二乗×10000 <体型判定基準> bmi<19ならば「痩せ型」 bmi>24ならば「肥満型」 19≦bmi≦24ならば「標準型」 <出力形式> 身長は 173.5cm 体重は 63.5kg 身長比(bmi)はXXX.Xで、標準型の体型です。 ifを使ってやるのですが、書き方が分からないので分かる方よろしくお願いします。

みんなの回答

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

追記です。カテゴリが「学問&教育」だったので、この質問は おそらく情報処理系の出題かと思いました。No.2さんの形で、 動作としてはまったくもって正しいですが、「仕様に対する設計」 として考えると、教師によっては満点をくれない可能性が……。 その為、提示されている条件はベタに全て記述する方が無難かと 思われます。 なお、 「else if」で繋げて記述した場合 「if」でそれぞれを記述した場合 いずれも正しいですが、動きとしては異なる点にご注意下さい。 条件に対して値が被る場合は、else if を利用して、1つの 結果だけを出力するようにする必要があります。優先順位の 高い条件を先頭に書くと良いです。 今回はbmiなので、性質的に「値が被る事」はありえない為、 その点を気にする必要はありません。

  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.2

if文の記述は以下の通り if (bmi < 19){ // 「痩せ型」のメッセージ出力 }else if (24 < bmi){ // 「肥満型」のメッセージ出力 }else{ // 「標準型」のメッセージ出力 } 繰り返しはfor文で行えば良いと思います。

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

「if文で条件判定をうまく記述できない」という事でよろしいでしょうか? (=プログラムを全て書く必要はないかと思ったので……) ifによる判定部分は以下の形になるかと思います。 if(bmi < 19) { // 痩せ型 } if( (19 <= bmi) && (bmi <= 24) ) { // 標準型 } if(bmi > 24) { // 肥満型 }

関連するQ&A