プロが教える店舗&オフィスのセキュリティ対策術

プログラミングの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を使ってやるのですが、書き方が分からないので分かる方よろしくお願いします。

A 回答 (3件)

「if文で条件判定をうまく記述できない」という事でよろしいでしょうか?


(=プログラムを全て書く必要はないかと思ったので……)
ifによる判定部分は以下の形になるかと思います。


if(bmi < 19)
{
// 痩せ型
}
if( (19 <= bmi) && (bmi <= 24) )
{
// 標準型
}
if(bmi > 24)
{
// 肥満型
}
    • good
    • 0

if文の記述は以下の通り



if (bmi < 19){
// 「痩せ型」のメッセージ出力
}else if (24 < bmi){
// 「肥満型」のメッセージ出力
}else{
// 「標準型」のメッセージ出力
}

繰り返しはfor文で行えば良いと思います。
    • good
    • 0

追記です。

カテゴリが「学問&教育」だったので、この質問は
おそらく情報処理系の出題かと思いました。No.2さんの形で、
動作としてはまったくもって正しいですが、「仕様に対する設計」
として考えると、教師によっては満点をくれない可能性が……。
その為、提示されている条件はベタに全て記述する方が無難かと
思われます。

なお、

「else if」で繋げて記述した場合
「if」でそれぞれを記述した場合

いずれも正しいですが、動きとしては異なる点にご注意下さい。
条件に対して値が被る場合は、else if を利用して、1つの
結果だけを出力するようにする必要があります。優先順位の
高い条件を先頭に書くと良いです。
今回はbmiなので、性質的に「値が被る事」はありえない為、
その点を気にする必要はありません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!