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; }