質問内容
コンパイル時にエラーは出ないのですが出力が何も出ないです。
問題
肥満度を知るのに BMI (Body Mass Index) がよく使われる。BMI は、 体重 w Kg, 身長 h m に対してつぎの式で定義される値をいう。
w / h^2
何人かの人について、名前・身長・体重が与えられているとき、 その中で一番 BMI の小さい人を見つけるプログラムを作れ。
入力は、何行かにわたる。各行には、名前(ローマ字姓)、身長(単位 cm)、体重(単位 Kg)が この順に1個以上の空白で区切られて書かれている。標準入力がキーボードから行われるときは、入力の最後に C-d を入力する。出力は、 BMI が最も小さかった人の名前を1行として書き出す。
入力例1
taro 183.3 65.5
syo 177.9 63.8
taisuke 173.1 61.1
ryo 175.4 60.0
出力例1
taro
入力例2
hanako 161.3 47.5
tomo 159.8 45.3
moe 164.2 43.2
出力例2
moe
コード
C
1#include<stdio.h> 2#include<string.h> 3int main(void){ 4 char name[1000][50]; 5 double height[1000],weight[1000]; 6 double BMI[1000]; 7 double ansBMI=10000; 8 char ans[1000]; 9 int i=0,j=0; 10 while(scanf("%s",name[i])!=EOF){ 11 scanf("%lf %lf",&height[i],&weight[i]); 12 BMI[i]=weight[i]/(height[i]*height[i]); 13 if(BMI[i]<ansBMI){ 14 strcpy(ans,name[i]); 15 } 16 i++; 17 } 18 printf("%s\n",ans); 19 return 0; 20}
回答4件
あなたの回答
tips
プレビュー