题目描述:
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入格式:
输入在一行中给出非负实数x。
输出格式:
在一行输出应交的水费,精确到小数点后2位。
输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
首先上一个个人不太推荐的代码,输入的是非负实数,所以int x其实是不太规矩的,但是这段代码pta是全通过
#include<stdio.h>
int main()
{
int x;
float y;
scanf("%d",&x);
if(x<=15)
{
y=4.0*x/3.0;//x为整型,这里4应该是4.0,3应该是3.0
printf("%.2f",y);
}
else{
y=2.5*x-17.5;
printf("%.2f",y);
}
return 0;
}
下一个个人推荐的
#include<stdio.h>
int main()
{
float y,x;//全都设成浮点型,设成double型也可以,没差,就是float换成double,.2f换成.2lf的区别,一样的,不懂的转身百度float与double的区别
scanf("%f",&x);
if(x<=15)
{
y=4*x/3;
printf("%.2f",y);
}
else{
y=2.5*x-17.5;
printf("%.2f",y);
}
return 0;
}
当然,这个pta也是全通过的