0
已采纳
定义 char c;
定义int a,b,v,x,y;
输入>>x>>c;
如果(x<=1000&&c=='n') 输出<<"YD"<<endl;
如果(x<=1000&&c=='y') 输出<<"Same"<<endl;
如果(x>1000&&c=='n'&&(x-1000)<=1500) 输出t<<"YD"<<endl;
如果(x>1000&&c=='y'&&(x-1000)<=1500) 输出t<<"SF"<<endl;
如果x>1000&&c=='n'&&x>=3000)输出<<"SF"<<endl;
如果(x>1000&&c=='y'&&x>=3000)输出<<"SF"<<endl;
望采纳
0
核心代码: //顺丰、韵达所用钱数为SF、YD //N是重量,choice是读入字符(加急/不加急) if(N>1000) { if(N%500==0) { SF=3*(N-1000)/500+12; YD=4*(N-1000)/500+8; } else { SF=3*((N-1000)/500+1)+12; YD=4*((N-1000)/500+1)+8; } } else { SF=12; YD=8; } if(choice=='y') YD+=4;
然后比较一下SF和YD,输出
注意:谁小谁输出!!!
一样要输Same!!!
0
你好,张希晨,这题是一个大判断加一个小判断,十分简单
if(n>1000)//n表示重量,如果n超过一千,则
{
if(n%500==0)//是五百的整倍数
{
s=3*(n-1000)/500+12;//s表示顺丰的价钱
y=4*(n-1000)/500+8;//y表示韵达的价钱
}
else//否则,不足五百元
{
s=3*((n-1000)/500+1)+12;
y=4*((n-1000)/500+1)+8;
}
}
else//大判断否则在一千元以内
{
s=12;
y=8;
}//输出
if(q=='y')
y+=4;
if(s>y)
cout<<"YD";
else if(y>s)
cout<<"SF";
else
cout<<"Same";
同班望采纳
0
这是核心代码:
int t=a;
sf+=12;
yd+=8;
if(a>1000)
{
t-=1000;
while(t>0)
{
t-=500;
i++;
}
}
sf+=3*i;
yd+=4*i;
首先计算了单单路程的价钱
记住中间用while
如果用if,那么语句只循环了一次
而这里要循环多次
接着判断字符:
if(b=='y')
{
yd+=4;
}
因为由题意知
只有在字符为“y”的情况下
才执行语句
最后判断输出:
if(yd<sf)
cout<<"YD";
else if(sf<yd)
cout<<"SF";
else if(sf==yd)
cout<<"Same";
完美AC哦
望采纳!!!
希望对你有一定的帮助!!!
0
兄dei,我不发整段代码!!!
if(n<=1000) { a=12; if(y=='y')b+=4; b+=8; } else if(n>1000) { n=n-1000; a+=12; b+=8; if(n%500!=0) { a+=3; b+=4; } a+=n/500*3; b+=n/500*4; if(y=='y') b+=4; }
这个是核心后面比较大小和输入输出你自己写!!!
采纳我吧!!!
0