20!!!!

P1422 小玉家的电费

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 如果第一个判断成立,最后一个判断也会成立。


|