问题标题: 酷町堂:2700 计价器

0
0
已解决
徐紫尘
徐紫尘
高级光能
高级光能
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int x;
    double s,ans=0;
    cin>>x>>s;
    if(x<=2){
        if(s<=2.5){
            ans+=8;
        }
        else if(s>=2.5){
            ans+=1.4*(s-2.5)+8;
        }
        else if(s>=15){
            ans+=2.1*(s-15);
        }
    }
    else if(x>=2){
        if(s<=2.5){
            ans+=9;
        }
        else if(s>=2.5){
            ans+=1.4*(s-2.5)+9;
        }
        else if(s>=15){
            ans+=2.1*(s-15);
        }
    }
    ans=ans+0.5;
    printf("%.0f",ans);
    return 0;
}

Wrong Answer:20分

找错


0
已采纳
杜智宸
杜智宸
中级光能
中级光能

不需要<=和>=

直接==1或==2

第一个if里第三个改成8+12.5*1.4+(s-15)*2.1;

第二个if里第二个if的条件是<=15,第三个改成9+12.5*1.4+(s-15)*2.1

0
0
杜智宸
杜智宸
中级光能
中级光能

不用+=

直接=

杜智宸在2020-08-10 18:52:31追加了内容

ans的

杜智宸在2020-08-10 18:53:50追加了内容

最后+0.5

再定义一个变量

a=int(sum+0.5);

输出a

杜智宸在2020-08-10 18:55:39追加了内容

不好意思给错了

杜智宸在2020-08-10 18:56:15追加了内容

ans几个变化的有问题

0
杜智宸
杜智宸
中级光能
中级光能

变量自己定义

输入

if(x==1){    
        if(s<=2.5)
            sum=8;
        else if(s<=15)
            sum=8+(s-2.5)*1.4;
        else
            sum=8+12.5*1.4+(s-15)*2.1;
      }

if(x==2){
        if(s<=2.5)
            sum=9;
        else if(s<=15)
            sum=9+(s-2.5)*1.4;
        else
            sum=9+12.5*1.4+(s-15)*2.1;
    }
    a=int(sum+0.5);

直接输出a

我要回答