为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x ÷ 3;超过后,y=2.5x − 17.5。请编写程序实现水费的计算。

输入格式:

输入在一行中给出非负实数x

输出格式:

在一行输出应交的水费,精确到小数点后2位。

输入样例1:

  1. 12

输出样例1:

  1. 16.00

输入样例2:

  1. 16

输出样例2:

  1. 22.50

思路

常见的分段函数用于阶梯计价,根据题目描述可知:


代码

  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4. float payment(float volume) {
  5. if(volume <= 15) return 4 * volume / 3;
  6. return 2.5 * volume - 17.5;
  7. }
  8. int main() {
  9. float volume;
  10. cin >> volume;
  11. printf("%.2f\n", payment(volume));
  12. return 0;
  13. }