我有一個循環,打印出不同的BMI值10級的用戶在此格式:C - 如何爲評估表達式的結果輸出不同的字符串?
USER BMI STATUS
1
:
10
的BMI狀態最終字符串"Overweight", "Normal" , "Underweight", and "Obese"
- 減持 - 當BMI低於18.50
- 正常 - 當BMI從18.50到24.9時
- 超重 - 當BMI從25.0到29.9時
- 肥胖 - 當BMI是大於30.0
我已經想通了如何打印出從真棒答案我here新線的BMI值,但我仍然發現很難顯示BMI狀態。
這裏是我有,
#include <stdio.h>
#include <math.h>
int main(void) {
float weight_value[10];
float user_height[10];
float BMI = 0.0f;
char* BMI_Status[] = {"Underweight", "Normal", "Overweight", "Obese"};
int i;
for (i = 0; i < 10; i++)
{
printf("Please enter your weight: ");
scanf("%f", &weight_value[i]); //Reads in the user's weight and stores it in an array
printf("Now enter your height: ");
scanf("%f", &user_height[i]); //Reads in the user's height and stores it in an array.
}
printf("\n");
printf("USER BMI STATUS\n");
for (i = 0; i < 10; i++)
{
BMI = weight_value[i]/(user_height[i] * user_height[i]);
printf("%2d %23.7f \n", i+1 , BMI);
}
return 0;
}
我創建的字符數組保存的BMI狀態字符串,但因爲這些都是將要在代碼的表達推斷串,我不知道如何在每一行上打印它們。
我想過使用if
條件來測試BMI值何時爲真,但是當我到達要添加打印出BMI狀態字符串的參數的部分時,我感到困惑。
'if'有什麼問題?你可以在得到'BMI'的值後繼續' – 2014-10-30 14:06:59
@SouravGhosh我嘗試過這樣做,但是我發現在第二次循環的每次迭代時都難以打印出不同的'BMI_Status []'字符串。 – 2014-10-30 14:09:59
考慮一個變量標誌,如果bmi <18.50,do標誌= 0,否則如果18.50
2014-10-30 14:13:54