7-11 分段计算居民水费 (10 分)
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入格式:
输入在一行中给出非负实数x。
输出格式:
在一行输出应交的水费,精确到小数点后2位。
输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
解析:这题只需要设置两个变量x,y,题目看起来很简单,但是需要注意的是x的类型必须是浮点型(y就更不用说了),起初我把x设置的是int型,但是没法通过测试点1,只能拿部分正确.这个主要和题目的输入要求有关:题目中要求输入格式是输入一个费负实数x,范围肯定包含浮点数类型,所以只输入整型是不行的。而且如果按照实际情况来想,不会每个月的用水量正好达到一个整数。所以一般题目上已知的测试点有时候会有坑,不能完全按照题目上给的测试点来检验自己的代码。
#iclude<>
int main(){
float x,y;
scanf("%f",&x);
if(x<=15){
y=4*x/3;
printf("%.2f\n",y);
}
else{
y=2.5*x-17.5;
printf("%.2f\n",y);
}
return 0;
}