60分求助!!!

P1422 小玉家的电费

第21行“(a-150)”应该改为250 因为a-150 包含了400以上的部分
by kongyuhen @ 2022-08-24 14:48:41


```cpp #include<iostream> #include<iomanip> using namespace std; int main() { long a; cin>>a; float b; if(a<=150) { cout<<fixed<<setprecision(1)<<a*0.4463; return 0; } else if(a<=400) { cout<<fixed<<setprecision(1)<<150*0.4463+(a-150)*0.4663; return 0; } else { //cout<<fixed<<setprecision(1)<<150*0.4463+(a-150)*0.4663+(a-400)*0.5663; cout<<fixed<<setprecision(1)<<150*0.4463+250*0.4663+(a-400)*0.5663; return 0; } } ``` @[cppdyh](/user/754429)
by six_小6猪 @ 2022-08-24 14:50:57


我给你测了一下,在最后一步出了问题 a-150中的一部分有可能包含在a-400 这里可能需要优化
by mxpf @ 2022-08-24 14:53:46


@[six_小6猪](/user/191993) ```cpp #include<iostream> #include<iomanip> using namespace std; int main() { long a; cin>>a; float b; if(a<=150) { cout<<fixed<<setprecision(1)<<a*0.4463; return 0; } else if(a<=400) { //cout<<fixed<<setprecision(1)<<150*0.4463+(a-150)*0.4663; cout<<fixed<<setprecision(1)<<150*0.4463+(a-250)*0.4663; return 0; } else { //cout<<fixed<<setprecision(1)<<150*0.4463+(a-150)*0.4663+(a-400)*0.5663; cout<<fixed<<setprecision(1)<<150*0.4463+250*0.4663+(a-400)*0.5663; return 0; } }
by spx123bc @ 2022-08-24 15:03:30


@[spx123bc](/user/667064) ?
by six_小6猪 @ 2022-08-24 15:17:08


3Q4 answers ~~谢谢回答~~
by cppdyh @ 2022-08-24 16:04:23


![](C:\Users\锋\Desktop\新建位图图像.png\)
by cppdyh @ 2022-08-24 19:02:54


```cpp #include<iostream> #include<iomanip> using namespace std; int main() { long a; cin>>a; float b; if(a<=150) { cout<<fixed<<setprecision(1)<<a*0.4463; return 0; } else if(a<=400) { cout<<fixed<<setprecision(1)<<150*0.4463+(a-150)*0.4663; return 0; } else { cout<<fixed<<setprecision(1)<<150*0.4463+250*0.4663+(a-400)*0.5663; return 0; } } ``` AC
by cppdyh @ 2022-08-24 19:04:42


|