编程题 要这种#include <stdio.h> int main() { 形式的 不要注释。 7-5 新胖子公式  上一题  下一题  题目描述 7-5 新胖子公式 分数 8  全屏浏览 作者 陈越 单位 浙江大学 根据钱江晚报官方微博的报导,最新的肥胖计算方法为:体重(kg) / 身高(m) 的平方。如果超过 25,你就是胖子。于是本题就请你编写程序自动判断一个人到底算不算胖子。 输入格式: 输入在一行中给出两个正数,依次为一个人的体重(以 kg 为单位)和身高(以 m 为单位),其间以空格分隔。其中体重不超过 1000 kg,身高不超过 3.0 m。 输出格式: 首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后 1 位。如果这个数值大于 25,就在第二行输出 PANG,否则输出 Hai Xing。
时间: 2025-07-11 15:46:52 浏览: 3
<think>好的,我现在需要帮用户解决这个编程题。题目是要求根据新的肥胖公式计算BMI,判断是否为胖子。用户要求代码形式是#include <stdio.h> int main() { ... },并且不要注释。首先,我得仔细看一下题目描述。
输入是两个正数,体重和身高,中间用空格分隔。输出首先是计算结果,保留一位小数。如果结果大于25,就输出PANG,否则输出Hai Xing。需要注意的几点是:输入的体重和身高是正数,可能包括小数,所以应该用浮点类型来存储,比如double或者float。计算的时候,体重除以身高的平方,然后保留一位小数。
接下来,我得考虑如何读取输入。使用scanf函数,格式应该是两个%lf,因为double类型对应的是%lf。比如double w, h; scanf("%lf %lf", &w, &h);。然后计算BMI,公式是w / (h * h)。计算之后,用%.1f来输出,保留一位小数。
然后判断是否大于25。如果是,输出PANG,否则输出Hai Xing。这里要注意输出的大小写和格式,题目中的例子是PANG和Hai Xing,所以必须严格遵循,包括空格和大写字母。
另外,题目中提到输入是正数,所以不需要处理负数的情况,但可能需要考虑输入的合法性?不过题目可能保证输入正确,所以代码里可能不需要做错误处理,直接处理即可。
接下来,结构方面,代码需要包含stdio.h,主函数int main(),然后变量声明,输入,计算,输出结果,然后判断输出第二行。需要注意的是,即使结果正好等于25,也要输出Hai Xing,因为条件是大于25才输出PANG。
可能的测试用例:比如输入80 1.75,计算80/(1.75*1.75)=26.1224,保留一位小数是26.1,大于25,输出PANG。另一个例子,输入60 1.8,计算60/(3.24)=约18.518,输出Hai Xing。
现在需要把这些步骤转化为C代码。注意不要注释,所以代码要简洁。例如:
#include <stdio.h>
int main() {
double w, h;
scanf("%lf %lf", &w, &h);
double bmi = w / (h * h);
printf("%.1f\n", bmi);
if (bmi > 25) {
printf("PANG\n");
} else {
printf("Hai Xing\n");
}
return 0;
}
这里需要注意的是,printf中的格式,%.1f会自动四舍五入吗?C语言的标准中,printf的格式说明符%.1f确实是四舍五入到小数点后一位的。所以不需要额外处理四舍五入的问题。
另外,题目中的样例输出可能需要换行符,比如第一个输出结果后有一个换行,然后第二个输出也有换行。代码中的printf都加了\n,符合要求。
检查是否所有情况都覆盖,比如刚好等于25的情况,会输出Hai Xing,正确。输入值范围,题目说体重不超过1000,身高不超过3.0,但代码不需要处理,因为题目可能保证输入合法。
最后,确保代码没有注释,符合用户的要求。结构正确,使用double类型来处理浮点数,避免精度问题。这样应该就完成了。</think>```c
#include <stdio.h>
int main() {
double w, h;
scanf("%lf %lf", &w, &h);
double bmi = w / (h * h);
printf("%.1f\n", bmi);
printf(bmi > 25 ? "PANG\n" : "Hai Xing\n");
return 0;
}
```
---
### **代码解析**
1. **输入处理**
使用 `%lf` 格式读取两个双精度浮点数,分别存储体重 $w$ 和身高 $h$
2. **BMI计算**
公式为 $\text{BMI} = \frac{w}{h^2}$,直接通过 `h * h` 实现平方运算
3. **输出控制**
- 第一行用 `%.1f` 输出保留一位小数的 BMI 值(自动四舍五入)
- 第二行通过条件运算符 `?:` 判断是否输出 `PANG` 或 `Hai Xing`
---
### **测试样例**
| 输入 | 输出 | 计算过程 |
|------------|--------------|----------------------------|
| 80 1.75 | `26.1`<br>`PANG` | $80/(1.75^2) \approx 26.122$ |
| 50 1.6 | `19.5`<br>`Hai Xing` | $50/(1.6^2) = 19.53125$ |
| 1000 3.0 | `111.1`<br>`PANG` | $1000/(3.0^2) \approx 111.111$ |
阅读全文
相关推荐



















