lrqSB @ 2024-11-16 15:26:21
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a<=150){
printf("%.1lf",a*1.0*0.4463);
}if(a>150&&a<=400){
printf("%.1lf",66.9+(a-150)*1.0*0.4663);
}else{
printf("%.1lf",(a-400)*1.0*0.5663+150*1.0*0.4463+250*1.0*4663);
}
}
by mahongyang @ 2024-11-16 15:45:06
else里最后一个乘的是0.4663,你没加小数点
by mahongyang @ 2024-11-16 15:49:28
把第二个if的66.9改成150*0.4463,
by mahongyang @ 2024-11-16 16:00:58
@lrqSB不知道为什么,改成else if就好了
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a<=150){
printf("%.1lf",a*1.0*0.4463);
}else if(a>150&&a<=400){
printf("%.1lf",(a-150)*1.0*0.4663+150*0.4463);
}else{
printf("%.1lf",(a-400)*1.0*0.5663+150*1.0*0.4463+250*1.0*0.4663);
}
}
by xuxingcheng @ 2024-11-18 21:11:16
不改else if 如果第一个判断成立,最后一个判断也会成立。