@[Paulpeng](/user/932162)
两点问题:
1.n也定义为double类型,否则在计算当中,由于你int类型乘一个两位小数 $ 0.98 $ 最终得到的还是两位小数,就会导致后面的数据四舍五入出错(精度丢失)
2.先判断是否在范围内再行动(可能存在开始就在范围内的情况)
```cpp
double n = 7;
```
```cpp
while(1)
{
if(wei >= a + b)
{
cout << "n";
return 0;
}
if(wei >= a - b)
{
if(wei + n <= a + b)
{
cout << "y";
return 0;
}
else
{
cout << "n";
return 0;
}
}
wei += n;
n *= 0.98;
}
```
by 82Young_UwU @ 2023-05-10 18:36:05
@[82yldQAQ](/user/324480) AC了,谢谢
by Paulpeng @ 2023-05-11 16:04:00