C言語でBMI(体格指数)を計算するプログラムの作成方法
ある人の身長と体重が与えられたとき、その人のBMI(Body Mass Index:ボディマス指数/体格指数)を計算して表示するのが、このプログラムの目的です。
BMIとは
BMIは、体重と身長の関係から肥満度を数値化した国際的な指標です。WHO(世界保健機関)でも採用されており、健康状態を手軽に把握するために広く活用されています。
BMIの計算に必要な情報
- 体重(kg)
- 身長(m)
BMIの計算式
BMIは、次の式で求められます。
BMI = 体重(kg)÷(身長(m)× 身長(m))
ここで、体重の単位はキログラム(kg)、身長の単位はメートル(m)である点に注意してください。身長をセンチメートルのまま代入すると、正しい値が得られません。
計算例
入力1:体重 = 60.00 kg、身長 = 1.60 m 出力:BMI指数 = 23.44 入力2:体重 = 54.00 kg、身長 = 1.65 m 出力:BMI指数 = 19.83
たとえば、体重60kg・身長1.6mの人の場合、「60 ÷(1.6 × 1.6)= 23.44」となり、日本肥満学会の基準では「普通体重」に該当します。
BMIの判定基準(日本肥満学会)
- 18.5未満:低体重(やせ)
- 18.5以上25未満:普通体重
- 25以上:肥満
プログラムの流れ
- 体重(kg)と身長(m)をfloat型の変数として受け取る
- 公式に従ってBMIを計算する
- 計算結果を画面に出力する
アルゴリズム
開始
ステップ1:BMIを計算する関数を宣言する
float BMI(float weight, float height)
return weight / (height * height)
ステップ2:main() 関数内での処理
float型の変数 weight に 60.00 を設定
float型の変数 height に 1.60 を設定
float型の変数 bmi に BMI(weight, height) の結果を代入
bmi の値を出力
終了
C言語による実装例
#include<stdio.h>
// BMI指数を計算する関数
float BMI(float weight, float height) {
return weight / (height * height);
}
int main() {
float weight = 60.00;
float height = 1.60;
float bmi = BMI(weight, height);
printf("BMI index is : %.2f ", bmi);
return 0;
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
BMI index is : 23.44
まとめ
BMIは「体重 ÷ 身長の2乗」というシンプルな式で求められます。C言語ではfloat型を使うことで小数点以下の精度を保ちながら計算でき、printf関数の書式指定子「%.2f」を利用すれば、結果を小数第2位まで見やすく表示できます。身長の単位をメートルに統一することだけ忘れないようにしましょう。
-
正四面体の表面積と体積を計算するCプログラム
四面体とは、底面が三角形であるピラミッド(角錐)のことです。つまり、底面が三角形であり、すべての側面もまた三角形で構成されています。3つの側面の三角形はすべて1点に収束します。下図を参照してください。コードのロジック四面体の面積と体積を求めるこのプログラムでは、mathライブラリの sqrt 関数と pow 関数を使用して、数値の平方根や累乗を計算しています。面積の計算では、浮動小数点型の変数を用意し、式「(sqrt(3) * a * a)」の計算結果を代入します。これは一辺の長さから正四面体の表面積を求める公式です。同様に、体積については別の変数を用意し、式「(a*a*a / (6*(sqr
-
C++で二重積分を計算するプログラム|シンプソン1/3則による数値積分の実装
変数xの下限・上限、変数yの下限・上限、そしてx・yそれぞれの刻み幅(ステップ幅)が与えられたとき、二重積分を数値的に計算し、その結果を表示するのが本記事のテーマです。 入出力の例 入力: xの刻み幅 = 1.2 yの刻み幅 = 0.54 xの下限 = 1.3 xの上限 = 2.1 yの下限 = 1.0 yの上限 = 2.1 出力: double integration is : 2.1 計算のアプローチ 本プログラムでは、以下の手順で二重積分を求めます。 xとyの上限・下限の値に加えて、x・yそれぞれの刻み幅を入力として受け取ります。 二重積分の計算にはシンプソン1/3則(Simpson