【作业题】

今日代码

在高速公路上行驶的机动车,当达到或超出本车道限速的10%则处200元罚款;当达到或超出50%时,就要吊销驾驶证。请编写程序根据车速和限速自动判断对该机动车的处理。
【输入形式】输入车速和车道限速
【输出形式】
【样例输入】120 100
【样例输出】200.00
【样例说明】若无超速输出"No overspeed",若达到或超出50%输出"Revocation of the driving licens",若达到或超出本车道限速则输出罚款金额。
:

#include <stdio.h>
int main()
{
	double speed, punish;
	int limit;
	scanf("%lf %d", &speed, &limit);

	if (speed >= limit * 1.5)
	{
		printf("Revocation of the driving licens.\n");

	}
	else if (speed >= limit * 1.1)
	{
		punish = 200.00;
		printf("%.2f", punish);

	}
	else
	{
		printf("No overspeed.\n");
	}
	return 0;
}

【问题描述】某城市普通出租车收费标准如下:起步里程为3公里,起步费10元,超出起步里程后10公里内,每公里2元;超出10公里以上的部分加收50%的空驶补偿费。即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。运价计费位数四舍五入,保留到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)。:

#include <stdio.h>
int main()
{
	int kilometer, minute;
	double cost1,cost2,cost;

	scanf_s("%d %d", &kilometer, &minute);


	if (kilometer <= 3)
	{
		cost1 = 10;
	}
	else if (kilometer <= 13)
	{
		cost1 = 10 + 2 * (kilometer - 3);

	}
	else if(kilometer >= 13)
	{
		cost1 = 10 + 2 * 10 + 3 * (kilometer - 13);

	}

	if (minute >= 5)
	{
		cost2 = (minute / 5) * 2;
	}
	else
	{
		cost2 = 0;
	}

	cost = cost1 + cost2;

	printf("%.0f", cost);

	return 0;
}

⬆️round() 函数是 C 语言中的一个数学函数,属于 <math.h> 头文件

round() 函数接受一个浮点数作为参数,返回最接近的整数值。如果这个浮点数的 decimal 部分等于 0.5,则向上取整。例如:

round(2.3) 结果为 2

round(2.5) 结果为 3

round(3.7) 结果为 4

四舍五入: 在实际应用中,四舍五入是一个常见的需求,特别是在财务计算中。比如,在计算费用时,我们通常希望得到一个整数金额,因为货币单位通常是以元为单位。

相关知识点扩展:

<math.h> 头文件:

C 标准库中的 math.h 头文件提供了许多数学函数,如 sin(), cos(), sqrt(), pow(), round() 等。这些函数可以用于各种数学计算。

其他取整函数:

除了 round(),<math.h> 还提供了其他一些取整函数:

floor(x): 返回小于或等于 x 的最大整数(向下取整)。

ceil(x): 返回大于或等于 x 的最小整数(向上取整)。

trunc(x): 返回 x 的整数部分(去掉小数部分)。

浮点数精度:

浮点数在计算机中使用近似值表示,因此在进行计算时可能会出现精度问题。在涉及到金钱的计算时,应该谨慎使用浮点数,通常建议在进行财务计算时使用整数(例如,以分为单位而不是元)来避免精度问题。

货币格式化:

在实际应用中,除了四舍五入以外,输出货币值时,通常还需要考虑格式化,例如显示为 $100.00。在 C 语言中,可以使用 printf 的格式化字符串来实现,例如 printf("%.2f", cost); 可以确保输出两位小数。

其他编程语言中的四舍五入:

在其他编程语言中,四舍五入的实现可能略有不同。例如,在 Python 中,可以使用 round() 函数,但其行为可能会有所不同,尤其是在处理负数时。

相关推荐
XH华3 小时前
初识C语言之二维数组(下)
c语言·算法
Uu_05kkq6 小时前
【C语言1】C语言常见概念(总结复习篇)——库函数、ASCII码、转义字符
c语言·数据结构·算法
嵌入式科普9 小时前
十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
c语言·stm32·cubeide·e2studio·ra6m5·dma接收不定长
A懿轩A9 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
1 9 J10 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
仍然探索未知中11 小时前
C语言经典100例
c语言
爱吃西瓜的小菜鸡11 小时前
【C语言】矩阵乘法
c语言·学习·算法
Stark、13 小时前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端
deja vu水中芭蕾13 小时前
嵌入式C面试
c语言·开发语言
stm 学习ing15 小时前
HDLBits训练3
c语言·经验分享·笔记·算法·fpga·eda·verilog hdl