CCF NOI1018 打电话

问题链接CCF NOI1018 打电话




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

题目描述

  某市的IC卡电话计费标准如下:首次为0.5元/3分钟(不足3分钟按3分钟计费),之后是0.2元/1分钟,不足一分钟按一分钟来算,如一个人打了6分30秒,那计费是按照7分钟来算,花费为1.3元。已知某人打一次电话花费为x元,问这个人有可能打了多长时间的电话?(精确到分钟)

输入

  输入一个实数x,表示打电话的花费。

输出

  输出打电话的最长时长(精确到分钟)。

样例输入

0.5

样例输出

3

数据范围限制

  0<x<=100



问题分析

  这个问题是一个简单的计算,价格只有一个台阶,判断一下即可。

程序说明

  (略)

要点详解
  • 使用宏定义是一种好的做法,增加了程序的可阅读性和可修改性。
  • 浮点计算结果如何取整输出是本题的一个要点。



100分通过的C语言程序:

#include <stdio.h>

#define PRICE1 0.5
#define PRICE2 0.2
#define DURATION 3

int main(void)
{
    float cash;

    scanf("%f", &cash);

    if(cash <= PRICE1)
        printf("%d\n", DURATION);
    else
        printf("%.f\n", ((cash - PRICE1) / PRICE2) + DURATION);

    return 0;
}



posted on 2017-04-20 21:38  海岛Blog  阅读(421)  评论(0编辑  收藏  举报

导航