@[water8424](/user/875743) 你这完全是乱的啊!
by WA_sir @ 2023-07-04 11:37:35
@[water8424](/user/875743) 分三个 ```if``` 不行吗
by WA_sir @ 2023-07-04 11:37:54
```cpp
if(n>400)
printf("%.1lf",150*0.4463+250*0.4663+(n-400)*0.5663);
else if(n>150)
printf("%.1lf",150*0.4463+(n-150)*0.4663);
else
printf("%.1lf",n*0.4463);
```
by WA_sir @ 2023-07-04 11:38:18
@[water8424](/user/875743)
```
money = 0.4463 * elec;//小等150
```
这是作甚
by microchip @ 2023-07-04 11:38:39
elec 大于150时 money刚开始加的是150*elec
elec大于400时150至400之间加250 * 0.4663
by SOSSOSSOSSOS @ 2023-07-04 11:38:51
@[water8424](/user/875743) `if` 语句在没有 `else` 的情况下有可能会全部执行,建议写成三个独立的 `if`
by zgy_123 @ 2023-07-04 11:40:39
@[SOSSOSSOSSOS](/user/564731) 谢谢大佬!!!
by water8424 @ 2023-07-04 11:41:13
@[WA_sir](/user/704156) 这样是可以的。分段计费,不会重复,用else多余
by water8424 @ 2023-07-04 11:41:56
@[Gavin2011](/user/577628) 不会的,因为如果在150内,就不会执行下两个if,在400内也不会执行下一个if,完全不会重复
by water8424 @ 2023-07-04 11:43:03
@[water8424](/user/875743) 你说的对,但是输入超过 400 时第一个 `if` 会多加一些
by zgy_123 @ 2023-07-04 11:44:38