首页 软件代码

运输公司计算运输费的两种方法


问题

如果路程为S
s<250 没有折扣
250<=s<500 2%的折扣
500 <=s< 1000 5%折扣
1000 <=s< 2000 8折扣
2000 <=s <3000 10%折扣
3000 <=s 15%折扣
求不同的公里数的价格。

首先是用switch语句的形式

#include&lt;stdio.h&gt;
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&#42;p&#42;(1-d);
    printf("价格为%5.2f",f);
 } 

运行结果:

请输入公里数:1523
价格为14011.60

第二种用if语句形式

#include&lt;stdio.h&gt;
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&#42;p&#42;(1-d);
    printf("价格为%5.2f",f);
 } 

运行结果:

请输入公里数:1523
价格为14011.60




文章评论