CCF NOI1010 邮寄包裹

问题链接CCF NOI1010 邮寄包裹




时间限制: 1000 ms  空间限制: 262144 KB

题目描述

  某邮局对邮寄包裹有如下规定:若包裹的重量超过30千克,不予邮寄,对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的结果:
   
重量(千克)      收费标准(元/公斤)          
wei<=10              0.80        
10<wei<=20        0.75         
20<wei<=30        0.70 
请你编写一个程序,输入包裹重量,输出所需费用或”Fail”表示无法邮寄。

输入

  输入一个正整数,表示邮寄包裹的重量。

输出

  输出对应的费用(答案保留2位小数)或“Fail”表示无法邮寄。

样例输入

7

样例输出

5.80

数据范围限制

 



问题分析

  这是一个条件判定问题。

  另外一种做法是,将原始数据放入数组中,程序逻辑将略有不同。

程序说明

  使用嵌套的if语句,即if else if ...语句进行条件判定处理。

  程序中,原始数据用符号变量定义。

要点详解

  • 多分支的条件可以使用嵌套的if语句进行描述。



100分通过的C语言程序:

#include <stdio.h>

#define RANGE1 10
#define RANGE2 20
#define RANGE3 30

#define PRICE1 0.80
#define PRICE2 0.75
#define PRICE3 0.70

#define FEE 0.20

int main(void)
{
    int w;

    scanf("%d", &w);

    if(w <= RANGE1)
        printf("%.2f\n", FEE + w * PRICE1);
    else if( w <= RANGE2)
        printf("%.2f\n", FEE + RANGE1 * PRICE1 + (w - RANGE1) * PRICE2);
    else if( w <= RANGE3)
        printf("%.2f\n", FEE + RANGE1 * PRICE1 + (RANGE2 - RANGE1) * PRICE2
               + (w - RANGE2) * PRICE3);
    else
        printf("Fail\n");

    return 0;
}



posted on 2017-04-03 21:09  海岛Blog  阅读(694)  评论(0编辑  收藏  举报

导航