質問: 5人の学生の身長[m]、体重[kg]のデータをキーボードから入力して各学生のBMI値を計算し、BMI値の小さい順に表示するプログラムを繰り返し文を使って作成する方法を教えてください。
回答: 体重と身長はscanf()で受けとれば良いです その後bmi[i]にはw[i]とh[i]を用いて計算結果を入れます.ソートはバブルソートで十分かと思います. #include int main(){ int i,j; double h[5],w[5],bmi[5]; for(i=0;i<5;i++){ printf("%d人目の体重 = ", i+1); scanf("%lf", &w[i]); printf("%d人目の身長 = ", i+1); scanf("%lf", &h[i]); } // bmi計算 for(i=0;i<5;i++){ bmi[i] = w[i] / (h[i]*h[i]); } // ソート for(i=0;i<5;i++){ for(j=i;j<5;j++){ if(bmi[i]>bmi[j]){ double t=bmi[i]; bmi[i]=bmi[j]; bmi[j]=t; } } } for(i=0;i<5;i++){ printf("%f\n",bmi[i]); } return 0; }実行例 1人目の体重 = 70 1人目の身長 = 1.7 2人目の体重 = 60 2人目の身長 = 1.7 3人目の体重 = 50 3人目の身長 = 1.7 4人目の体重 = 80 4人目の身長 = 1.7 5人目の体重 = 90 5人目の身長 = 1.7 17.301038 20.761246 24.221453 27.681661 31.141869