#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;
}
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)
高级守护
你这里没有判定不满足500的,按照500计算吧?
例如:你的se=se/500;只是求满足500的,而且是以小数形式出现的,答案肯定不对吧?如果是600,你这里的se就是1.2,但是题目要求的se应该是2
