问题出在哪里
#include <stdio.h>int main()
{
double height;
double weight;
printf("请输入您的身高和体重,如/180 130/表示180cm,130斤\n");
scanf_s("%lf,%lf", &height, &weight);
double bmi;
bmi= weight / (height / 100 )* (height / 100);
printf("您的bmi是%f",bmi);
return 0;
}
您的bmi是-92559631349317830736831783200707727132248687965119994463780864.000000 您的代码有几个问题需要修正:
1. 头文件缺少尖括号
2. 输入格式与提示信息不匹配
3. BMI计算公式错误
4. 单位转换问题
修正后的代码:
#include <stdio.h>
int main()
{
double height;
double weight;
printf("请输入您的身高(cm)和体重(kg),如:180 75\n");
scanf("%lf %lf", &height, &weight);
double bmi;
bmi = weight / ((height / 100) * (height / 100));
printf("您的bmi是%.2f", bmi);
return 0;
}
主要修改说明:
[*]头文件改为 #include <stdio.h>
[*]修改输入提示,明确要求输入身高(cm)和体重(kg)
[*]将 scanf_s 改为标准 scanf,使用空格分隔输入
[*]修正BMI计算公式,正确的公式是:体重(kg) ÷ 身高(m)的平方
[*]输出格式改为 %.2f 保留两位小数
使用示例:
输入:180 75
输出:您的bmi是23.15
注意:如果您的体重单位是斤而不是公斤,需要先将斤转换为公斤(除以2)再计算。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 小甲鱼的二师兄 于 2025-10-6 04:35 编辑
参照一下正确代码:
#include <stdio.h>
int main()
{
double height;
double weight;
printf("请输入您的身高(cm)和体重(kg),如:180 75\n");
scanf("%lf %lf", &height, &weight);
double bmi;
bmi = weight / ((height / 100) * (height / 100));
printf("您的bmi是%.2f", bmi);
return 0;
}
问题出在接受输入的时候多了一个逗号:"%lf,%lf"
应该是:"%lf %lf"
小甲鱼的二师兄 发表于 2025-10-6 04:34
参照一下正确代码:
谢谢!
页:
[1]