问题
如果路程为S
s<250 没有折扣
250<=s<500 2%的折扣
500 <=s< 1000 5%折扣
1000 <=s< 2000 8折扣
2000 <=s <3000 10%折扣
3000 <=s 15%折扣
求不同的公里数的价格。
首先是用switch语句的形式
#include<stdio.h>
void main()
{
float d,f,p;
int x,s;
p=10;//一公里的价格
printf("请输入公里数:");
scanf("%d",&s);
x=s/250;//通过运输的公里数与250的关系进行分类
switch(x)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:
case 3:d=0.05;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;
default :d=0.15;
}
f=s*p*(1-d);
printf("价格为%5.2f",f);
}
运行结果:
请输入公里数:1523
价格为14011.60
第二种用if语句形式
#include<stdio.h>
void main()
{
float d,f,p;
int s;
p=10;
printf("请输入公里数:");
scanf("%d",&s);
if(s<=250) d=0;
else if(s<=500) d=0.02;
else if(s<=1000) d=0.05;
else if(s<=2000) d=0.08;
else if(s<=3000) d=0.1;
else d=0.15;
f=s*p*(1-d);
printf("价格为%5.2f",f);
}
运行结果:
请输入公里数:1523
价格为14011.60