题目
学校的上网费 |
难度级别: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元就行了。
代码
#includeusing 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;}