ここから本文です

C言語についての質問です。まだ初心者です… BMI判定のプログラムを作成してるの...

sub********さん

2016/10/622:26:19

C言語についての質問です。まだ初心者です…

BMI判定のプログラムを作成してるのですが
変数bmiを計算してその値が18.5未満なら1, 18.5以上25.0未満なら2, 25.0以上30.0未満なら3, 30.0以上

なら4を表示させる部分をif文などの制御構造を使わずに比較演算子を用いて表現したいのですがなかなか上手くいきません。良かったらご教授お願いいたします。

閲覧数:
97
回答数:
3

違反報告

ベストアンサーに選ばれた回答

her********さん

2016/10/800:26:59

まあ、あまり考えずに、

#include <stdio.h>
int main() {
double bmi;
int BMI = 1;
printf("input bmi\n");
scanf("%lf", &bmi);
BMI += bmi >= 18.5;
BMI += bmi >= 25.0;
BMI += bmi >= 30.0;
printf("判定:%i\n", BMI);
return 0;
}

程度でいいんじゃないでしょうか?

質問した人からのコメント

2016/10/8 21:50:35

ありがとうございます。無事完成しました!
皆さん回答ありがとうございました

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

dee********さん

2016/10/701:40:26

if文をつかわずに作成してみました。
#include <stdio.h>

int main(void)
{
double bmi;
int a1, a2, a3, a4;
char str1[2][2]= {"","1"};
char str2[2][2]= {"","2"};
char str3[2][2]= {"","3"};
char str4[2][2]= {"","4"};

printf("bmi? ");
scanf("%lf",&bmi);

a1 = bmi < 18.5;
printf("%s", str1[a1]);

a2 = !a1 && bmi < 25.0;
printf("%s", str2[a2]);

a3 = !a1 && !a2 && bmi < 30.0;
printf("%s", str3[a3]);

a4 = !a1 && !a2 && !a3;
printf("%s", str4[a4]);

printf("\n");

return 0;
}

iku********さん

2016/10/622:46:12

条件演算子?
==========
#include <stdio.h>

int main() {

float BMI;

printf("BMI:");
scanf("%f", &BMI);

printf("%d",
BMI < 18.5 ? 1 :
BMI < 25.0 ? 2 :
BMI < 30.0 ? 3 : 4
);

}

==========
とりあえずBMIはscanfしましたが,身長・体重から求めたいなら処理を足してください。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる