C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 20:03:29
C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000

C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000
C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.
运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:
s<250km 没有折扣
250≤S<500 2%折扣
500≤S<1000 5%折扣
1000≤S<2000 8%折扣
2000≤S<3000 10%折扣
3000≤S 15%折扣
设每公里每吨货物的基本运费为P(Price的缩写),货物重为w(weight的缩写),距离为S,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为f=P*w*S*(1-d)
分析:S各域的边界值均为250的倍数,这样如果用开关语句实现可以设一变量c ,使c=s/250 这样c就可以做为switch中的"表达式"以控制分支,此时标准如下:
c<1 没有折扣
1≤c<2 2%折扣
2≤c<4 5%折扣
4≤c<8 8%折扣
8≤c<12 10%折扣
12≤c
为了便于在switch语句中处理,当 3000≤s 时,令 c=12 而不使c随s增大,这样用一条case语句便可处理所有3000≤s 的情况.
下面2种写法:
------------------------------------
1、#include
int main()
{
int c,s;
float p,w,d,f;
scanf("%f %f %d",&p,&w,&s);
if (s >= 3000 ) c =12;
else c = s / 250;
switch (c)
{
case 0 :d = 0; break;
case 1 :d = 2; break;
case 2 :
case 3 :d = 5; break;
case 4 :
case 5 :
case 6 :
case 7 :d = 8; break;
case 8 :
case 9 :
case 10:
case 11:d = 10; break;
case 12:d = 15; break;
}
f = p * w * s * (1 - d / 100);
printf("freight =%15.4f\n",f);
}
2、#include
void main ( )
{int c,s;
float p,w,d,f;
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000) c=12;
else c=s/250;
switch(c){
case 0:d=0;break;
case 1:d=0.02;break;
case 2:case 3:d=5;break;
case 4:case 5:case 6:case 7:d=0.08;break;
case 8:case 9:case 10:case 11:d=0.1;break;
case 12:d=0.15;break; }
f=p*w*s*(1-d);
printf("freight=%.2f\n",f);}
这语句printf("freight=%.2f\n",f);中.2,printf("freight =%15.4f\n",f);中15.4根据什么得来的?
还有最后一句写成printf("freight=%.2f\n",f);中.2,或printf("freight =%15.4f\n",f);都对吗?如果写成printf("freight =%f\n",f);可以吗?输出格式是自己设定的吗?

C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000
%15.4f
指15位整数部分、4位小数部分的浮点数

C语言谭浩强课本例5.7、运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000 运输公司对用户计算运费.程序设计运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣250≤S<500 2%折扣500≤S<1000 5%折扣1000≤S<2000 8%折扣2000≤S<3000 10 运输公司对用户计算运费.路程(S)越远,每公里运费越低.运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣 250≤S<500 2%折扣 500≤S<1000 5%折扣 1000≤S<2000 8 用matlab中的switch语句编程实现运输费用的计算:运输公司对用户计算运费,距离s越远,每公里运费越低.折扣标准如下:s 对运输公司运输入境货物不缴纳营业税,这项政策的目的是什么,为什么运输出境货物缴纳? 如何成立运输公司 运输公司对用户计算运费.路程(S)越远,每公里运费越低.标准如下:s<250km 没有折扣 250≤S<500 2%折扣 500≤S<1000 5%折扣 1000≤S<2000 8%折扣 2000≤S<3000 10%折扣 300 C语言--由用户输入任一整数,系统判断是不是可以开方,然后输出开方结果.(例 121 可开方 11)无思路求教 C语言 用if判断用户输入的数字是几位数判断到九位数 怎么写荣誉证书?这是公司给模范用户的荣誉证书.这要怎么写呢,说“感谢您对我公司产品的支持,.下面怎么说客户成为我公司的模范用户呢? C语言求解不等式已知不等式 +2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解.输入输入一个正整数n,n不大于1000000.输出输出m的取值范围,具体格式见输出样例.样 算术表达式求值 C语言算术表达式求值(1)用户可通过键盘输入四则运算的表达式(2)判断表达式是否正确(3)对正确的表达式,计算该表达式的值 如何申办运输公司求解 C语言编程计算1!+2!+3!+…+n!.n由用户决定程序中应有防止用户输入n值超过100的措施. 我们公司的用户想要我们对自己的金属材料出具一份分析报告,我们这边的技术人员不太会啊, 为了鼓励市民节约用水,市自来水公司对用户按如下标准收费,如果每月每户用水 以下C语言用户的标识符中不合法的是() A.1 B.AaBc C.a b D.a-b 以下C语言用户标示符中,不合法的是 A)_1 B)AaBc C)a_b D)a--b 为什么?