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;
}
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号