你的代码存在几个语法错误和逻辑问题,导致它无法正确运行。下面是修正后的代码:
1. **包含头文件**时缺少尖括号。
2. `#define _CRT_SECURE_NO_WARNINGS` 应该放在头文件包含之前。
3. `printf("你的bmi为,bmi");` 的格式错误。
4. 使用 `print()` 错误,应该是 `printf()`。
5. `height` 应该由厘米转换为米来进行 BMI 计算。
6. 代码逻辑建议先获取输入后计算 BMI。
这里是修正后的代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
float weight = 0, height = 0;
float bmi = 0;
// 获取用户输入
printf("请输入你的体重(单位kg):\r\n");
scanf("%f", &weight);
printf("请输入你的身高(单位cm):\r\n");
scanf("%f", &height);
// 转换身高为米
height = height / 100.0;
// 计算BMI
bmi = weight / (height * height);
// 输出结果
printf("你的BMI为: %.2f\r\n", bmi);
if (bmi < 18.5) {
printf("18.4以下:体重过轻\r\n");
} else if (bmi < 24) {
printf("18.5-23.9:正常体重\r\n");
} else if (bmi < 28) {
printf("24-27.9:体重过重\r\n");
} else {
printf("28以上:肥胖\r\n");
}
return 0;
}
更正后的代码添加了转换身高单位的逻辑,并修复了所有格式化输出的问题。试运行这段代码,应该可以正确输出 BMI 计算结果及其分类。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |