1. c++语法中没有连续的不等式比较的写法 `a <= b < c` ,程序读不懂你什么意思,应写成 `a <= b && b < c`(Line 8, 17, 26)
2. 变量名用混了,在 `bmi2` 和 `bmi3` 函数里面都用的是 `bmi1` 这个变量(Line 8, 17, 26)
3. 空格打多了,Checker会严格检查你答案中的空格,多一个少一个都不行(除了在最后一行)(Line 11, 20, 29)
4. `Overweight` 少打了一个 `t` (Line 11, 20, 29)
[AC了](https://www.luogu.com.cn/record/95779419)
```cpp
#include <bits/stdc++.h>
using namespace std;
double m1, h1, m2, h2, m3, h3;
double bmi1, bmi2, bmi3;
int bmi_1()
{
if (bmi1 < 18.5)
printf("%s \n", "Underweight");
else if (18.5 <= bmi1 && bmi1 < 24) // 此处
printf("%s \n", "Normal");
else if (bmi1 >= 24)
printf("%s %.2f \n", "Overweight", bmi1); // 此处
}
int bmi_2()
{
if (bmi2 < 18.5)
printf("%s \n", "Underweight");
else if (18.5 <= bmi2 && bmi2 < 24) // 此处
printf("%s \n", "Normal");
else if (bmi2 >= 24)
printf("%s %.2f \n", "Overweight", bmi2); // 此处
}
int bmi_3()
{
if (bmi3 < 18.5)
printf("%s \n", "Underweight");
else if (18.5 <= bmi3 && bmi3 < 24) // 此处
printf("%s \n", "Normal");
else if (bmi3 >= 24)
// 此处
printf("%s %.2f \n", "Overweight", bmi3);
}
int main()
{
scanf("%lf%lf%lf%lf%lf%lf", &m1, &h1, &m2, &h2, &m3, &h3);
bmi1 = m1 / h1 / h1;
bmi2 = m2 / h2 / h2;
bmi3 = m3 / h3 / h3;
bmi_1();
bmi_2();
bmi_3();
}
```
以上说的行数都是源代码的行数,不是修改后的行数
by Moyou @ 2022-11-27 01:13:35