
求解下面C语言的题(用switch语句)写。 谢谢!
请编一程序,输入货物的重量,计算并输出其快递费。注意货物快递是分段计价的。如,货物重量12公斤,则快递费是:5×3+5×3.5+2×4=40.51、某快递公司运费收取标准...
请编一程序,输入货物的重量,计算并输出其快递费。注意货物快递是分段计价的。如,货物重量12公斤,则快递费是:5×3+5×3.5+2×4=40.5
1、某快递公司运费收取标准为:
货物重量≤5公斤,快递费收3元
5公斤<货物重量≤10公斤,快递费3.5元/公斤
10公斤<货物重量≤20公斤,快递费4元/公斤
20公斤<货物重量≤30公斤,快递费4.5元/公斤
30公斤<货物重量≤50公斤,快递费5元/公斤
货物重量>50公交,拒收 展开
1、某快递公司运费收取标准为:
货物重量≤5公斤,快递费收3元
5公斤<货物重量≤10公斤,快递费3.5元/公斤
10公斤<货物重量≤20公斤,快递费4元/公斤
20公斤<货物重量≤30公斤,快递费4.5元/公斤
30公斤<货物重量≤50公斤,快递费5元/公斤
货物重量>50公交,拒收 展开
3个回答
展开全部
题目中的:
货物重量≤5公斤,快递费收3元
应该为
货物重量≤5公斤,快递费收3元/公斤
#include<stdio.h>
int a[17]={-1,0,3,5,6,10,12,18,20,25,30,35,40,50,55,57,60};// 测试数据
int main()
{
int i=17;
int zhongliang;
float flg;
while(i)
{
i--;
//scanf("%d",&zhongliang);
zhongliang=a[i];
flg=0;
switch(zhongliang/5)
{
case 6:case 7:case 8:case 9: case 10:
flg += (float)(5*(zhongliang-30)); zhongliang=30;
case 4:
case 5: flg += (float)(4.5*(zhongliang-20));zhongliang=20;
case 2:
case 3: flg += (float)(4*(zhongliang-10)); zhongliang=10;
case 1: flg += (float)(3.5*(zhongliang-5)); zhongliang=5;
case 0: flg += (float)(3*zhongliang); break;
default: flg = -1;
}
if(flg>=0)
printf("%2d -- %0.2f \n",a[i],flg);
else
printf("%2d -- No! \n",a[i]);
}
//getch();
}
展开全部
呵呵 楼上写的不错。
不过从实际角度来说,这个题目用循环写最简单。
不过从实际角度来说,这个题目用循环写最简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int weight;
float price;
while(scanf("%d",&weight)!=EOF)
{
switch(weight/5)
{
case 0: price = 3*weight ;break;
case 1: price = 3*5+3.5*(weight-5);break;
case 2:
case 3:
price = 6.5*5+4*(weight-10);break;
case 4:
case 5:
price = 6.5*5+40+4.5*(weight-20);break;
case 6:case 7:case 8:case 9:
price =6.5*5+40+45+5*(weight-30);break;
default:
price = -1;
}
if(price>0) printf("price is $f \n",price);
else print("refused!\n");
}
return 0;
}
int main()
{
int weight;
float price;
while(scanf("%d",&weight)!=EOF)
{
switch(weight/5)
{
case 0: price = 3*weight ;break;
case 1: price = 3*5+3.5*(weight-5);break;
case 2:
case 3:
price = 6.5*5+4*(weight-10);break;
case 4:
case 5:
price = 6.5*5+40+4.5*(weight-20);break;
case 6:case 7:case 8:case 9:
price =6.5*5+40+45+5*(weight-30);break;
default:
price = -1;
}
if(price>0) printf("price is $f \n",price);
else print("refused!\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |