解答例:
(1)先週の課題(2)において,変数a, b をキーボードから入力して計算するように変更してみよう.
/*///////////////////////*/
/* 2008_3kadai1.c */ /*ファイル名の表示:(コメント/**/間は,コンパイルされない*/
/*///////////////////////*/
#include <stdio.h>
void main()
{
int a,b; /*入力用変数(整数型)の定義*/
printf("Please input number a : ");
scanf("%d",&a); /*変数aへの入力*/
printf("Please input number b : ");
scanf("%d",&b); /*変数bへの入力*/
printf("a+b=%d¥n",a+b); /*以下,変数の計算と表示*/
printf("a-b=%d¥n",a-b);
printf("a×b=%d¥n",a*b);
printf("a÷b=%d¥n",a/b);
printf("a%b=%d¥n",a%b);
printf("The area of a traiangle with base a and height b equal : %d¥n",a*b/2);
printf("a^2+ab=%d¥n",a*a+a*b);
}
(2)肥満度を表す指標にBMI(Body Mass Index)というものがある.これはWHOで基準が発表されているが,18.5から25までが正常範囲とされている.
BMI=体重(kg) ÷ 身長^2(m)
キーボードから体重と身長を入力(単位に注意!)すると,BMI値を計算して画面に表示するプログラムを作成せよ.
/*///////////////////////*/
/* 2008_3kadai2.c */
/*///////////////////////*/
#include <stdio.h>
void main()
{
float mass, hei, BMI; /*入力用変数(浮動小数点型)の定義*/
printf("Please input your mass : ");
scanf("%f",&mass); /*体重の入力*/
printf("Please input your height : ");
scanf("%f",&hei); /*身長の入力*/
BMI = mass/(hei*hei); /*BMIの計算.C言語では^記号が乗数計算を表さない*/
printf("¥nYour BMI : %f¥n",BMI); /*BMIの表示*/
}
(3)次に,もし求めたBMI値が25以上だったら「肥満です」と画面に表示されるようにプログラムを改良しよう.
/*///////////////////////*/
/* 2008_3kadai3.c */
/*///////////////////////*/
#include <stdio.h>
void main()
{
float mass, hei, BMI; /*入力用変数(浮動小数点型)の定義*/
printf("Please input your mass : ");
scanf("%f",&mass);
printf("Please input your height : ");
scanf("%f",&hei);
BMI = mass/(hei*hei);
printf("your BMI : %f¥n",BMI);
if(BMI >= 25.0){ /*if文(MBIが25以上ならば真)*/
printf("You are obese.¥n"); /*25以上で実行される文*/
}
}
(4)以下の表のように,求めたBMI値がさらに細かく分類され,判定結果を画面に表示するようにプログラムを改良しよう.
/*///////////////////////*/
/* 2008_3kadai4.c */
/*///////////////////////*/
#include <stdio.h>
void main()
{
float mass, hei, BMI;
printf("Please input your mass : ");
scanf("%f",&mass);
printf("Please input your height : ");
scanf("%f",&hei);
BMI = mass/(hei*hei);
printf("your BMI : %f¥n",BMI);
if(BMI <= 18.5){ /*if文(MBIが18.5以下ならば真,偽ならば次のelse ifの判定を行う)*/
printf("You are slemness.¥n"); /*18.5以下で実行される文*/
}else if(BMI <= 25){
printf("You are standard type.¥n"); /*18.5以上,25.0以下で実行される文*/
}else if(BMI <= 30){
printf("You are relatively overweight.¥n"); /*25.0以上,30.0以下で実行される文*/
}else if(BMI <= 35){
printf("You are fatness 1.¥n"); /*30.0以上,35.0以下で実行される文*/
}else if(BMI <= 40){
printf("You are fatness 2.¥n"); /*35.0以上,40.0以下で実行される文*/
}else if(BMI > 40){
printf("You are fatness 3.¥n"); /*40.0以上で実行される文*/
}
}