@[Glooda](/user/746267) 您的判断语句有误,当a<=150时,在第一个判断语句会执行一次,但是在下面的if,else中,因为不满足a>=151&&a<=400的条件,又会被执行一遍else里的内容,所以需要改一下(可以将第10行的if换为else if
修改后的代码,已经AC
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
float b;
cin>>a;
if(a<=150){
b=a*0.4463;
}
else if(a>=151&&a<=400){
b=b+150*0.4463+(a-150)*0.4663;
}
else{
b=b+150*0.4463+(400-150)*0.4663+(a-400)*0.5663;
}
cout<<fixed<<setprecision(1)<<b;
return 0;
}
```
)
by mmh08100566 @ 2022-11-30 07:35:58
@[mmh08100566](/user/537923) 哦,对哦,我都没注意到这个问题,谢谢指点
by Glooda @ 2022-11-30 17:37:23
@[Glooda](/user/746267) 不用谢
by mmh08100566 @ 2022-11-30 19:03:08