问题标题: 1075 错了2 3 5测试点,求大神找找问题呀!!(70分)

0
1
已解决
鲁天一
鲁天一
初级光能
初级光能

#include<iostream>
using namespace std;
int main()
{
    double a,s,d,se,de;
    char f;
    cin>>a>>f;
    if(a<1000)
    {
        s=12;d=8;
    }
    else
    {
        se=s-1000;
        se=se/500;
        if(se==0)
        se=500;
        else
        se=se*3;
        s=se+12;
        de=s-1000;
        de=se/500;
        if(de==0)
        de=500;
        else
        de=de*3;
        d=de+8;
    }
    if(f=='y')
    {
        d=d+4;
    }
    else
    {
        d=d;
    }
    if(s>d)
    cout<<"YD";
    else if(d>s)
    cout<<"SF";
    else if(s==d)
    cout<<"Same";
    return 0;
 } 

http://judge.codingtang.com/problem/1075/


1
已采纳
郑怡翔
郑怡翔
初级天翼
初级天翼
else
d=d;
//可以不要

超过部分每500克加收4元,不足500克按500克计算。

核心:

    else if(a>1000)
    {
        shun=12+((a-1000)/500)*3;
        yun=8+((a-1000)/500)*4;
        if(a%500!=0)
        {
            shun+=3;
            yun+=4;      
        }
    }
    

上面这一段的前面一部分是定义,输入,判断重量是否(小于等于1000),进行操作

后面一部分是判断是否是加急和输出(也是判断)

if(a<1000)

这条判断不对,应是:

if(a<=1000)

 

0
被禁言 贾敬波
贾敬波
高级守护
高级守护

你这里没有判定不满足500的,按照500计算吧?

例如:你的se=se/500;只是求满足500的,而且是以小数形式出现的,答案肯定不对吧?如果是600,你这里的se就是1.2,但是题目要求的se应该是2

0
我要回答