题目
学校的上网费 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
某知名大学校园网的计费规则是:使用 5G 以内,收费 5 元,超出 5G 但不超出 10G ,收费 10 元,超出 10G,每多使用1G花费0.5元,不足 1G 按 1G 算。从键盘上输入一个数表示某月的流量(单位:G),编写程序计算并输出本月应付的上网费。
|
输入
|
一个不超 10000 的正数,表示上网流量。
|
输出
|
一个数,表示要付的上网费。
|
输入示例
|
3
|
输出示例
|
5
|
分析
只要你把不足1G算1G,5G以内收5元这两个条件理解透,明白不足1G也收5元就行了。
代码
#include<bits/stdc++.h> using namespace std; double x; int main() { cin>>x; if(int(x)!=x) x=int(x)+1;//如果x取整后与原值不等,说明有小数部分,就加1G。 if(x<=5) printf("5");//5G以内或不足1G收5元。 else if(x<=10) printf("10");//不超10G收10元。 else cout<<(x-10)*0.5+10;//10G以上每多1G收0.5元。 return 0; }