7-11 分段计算居民水费(C语言)

本文介绍了一个简单的水费计算程序,该程序根据居民的月用水量采用阶梯式计价方式计算应交水费。当用水量不超过15吨时,费用为每吨4/3元;超过15吨后,超出部分每吨收费2.5元,同时扣除固定费用17.5元。程序使用C语言编写,通过分段判断实现了准确的水费计算。

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

输入格式:

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

输出格式:

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

输入样例1:

12

输出样例1:

16.00

输入样例2:

16

输出样例2:

22.50

PS:

是一个很简单的分段判断程序,但要注意的是数据类型,均为double类型,如果输入x是int类型的话,测试点1就是错误的

附上代码:

#include <stdio.h>

int main(){
	double x;
	double y;
	scanf("%lf",&x);
	if(x<=15){
		y = 4*x/3;
	}
	else{
		y = 2.5*x-17.5;
	}
	printf("%.2lf",y);
	return 0;
}

 

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费 $y$(元)与月用水量 $x$(吨)相关:当 $x$ 不超过 15 吨时,$y = \frac{4x}{3}$;超过后,$y = 2.5x - 10.5$。以下是几种使用 C 语言解决该分段计算居民水费问题的例题解答: ### 解答 1 ```c #include <stdio.h> int main() { int x; scanf("%d", &x); if (x <= 15) { printf("%.2f", 4 * x / 3.0); } else { printf("%.2f", 2.5 * x - 17.5); } return 0; } ``` 该代码通过 `scanf` 函数读取输入的整数月用水量 `x`,然后根据 `x` 的值进行判断,如果 `x` 不超过 15 吨,按照 $y = \frac{4x}{3}$ 计算水费并输出;如果超过 15 吨,按照 $y = 2.5x - 17.5$ 计算水费并输出,结果精确到小数点后 2 位 [^2]。 ### 解答 2 ```c #include <stdio.h> int main() { double x, y; scanf("%lf", &x); if (x < 0) y = 0; else if (x >= 0 && x <= 15) y = 4 * x / 3; else y = 2.5 * x - 10.5; printf("f(%.2lf) = %.2lf", x, y); return 0; } ``` 此代码使用 `double` 类型来处理输入的月用水量 `x`,能处理小数情况。通过 `scanf` 读取输入后,根据不同的 `x` 范围计算水费 `y`,若 `x` 小于 0,水费为 0;若 `x` 在 0 到 15 吨之间,按 $y = \frac{4x}{3}$ 计算;若 `x` 超过 15 吨,按 $y = 2.5x - 10.5$ 计算,最后按 `f(输入的月用水量) = 计算出的应交水费` 的格式输出结果,精确到小数点后 2 位 [^3]。 ### 解答 3 ```c #include <stdio.h> int main() { float x, y; scanf("%f", &x); if (x <= 15) { y = 4 * x / 3; printf("%.2f", y); } if (x > 15) { y = 2.5 * x - 17.5; printf("%.2f", y); } return 0; } ``` 该代码使用 `float` 类型处理月用水量 `x`,通过 `scanf` 读取输入。使用两个 `if` 语句分别判断 `x` 是否不超过 15 吨和是否超过 15 吨,对应不同的计算公式计算水费并输出,结果精确到小数点后 2 位 [^4]。 ### 解答 4 ```c #include <stdio.h> int main() { double x = 0, y = 0; scanf("%lf", &x); if (x < 0) { x = x, y = 0; } else if (x <= 15) { y = 4 * x / 3; } else { y = 2.5 * x - 10.5; } printf("f(%.2lf) = %.2lf", x, y); return 0; } ``` 此代码同样使用 `double` 类型处理月用水量 `x`,读取输入后,根据 `x` 的不同范围计算水费 `y`,当 `x` 小于 0 时,水费为 0;当 `x` 不超过 15 吨,按 $y = \frac{4x}{3}$ 计算;当 `x` 超过 15 吨,按 $y = 2.5x - 10.5$ 计算,最后按 `f(输入的月用水量) = 计算出的应交水费` 的格式输出结果,精确到小数点后 2 位 [^5]。
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值