编写一个程序,当用户通过键盘输入一个正实数后,程序应找出并输出该数与其最近的能被5整除的数(如果两者距该数等距,则返回-1)。例如,对于输入值4.8,应输出5;对于11.2,应输出10。
时间: 2024-10-08 21:03:49 浏览: 30
实验一、进程调度,设计一个有 N个进程共行的进程调度程序
5星 · 资源好评率100%
为了编写这样一个程序,你可以使用Python语言,因为其简洁明了。下面是一个简单的函数示例,它接收用户的输入,然后找到最接近的能被5整除的数:
```python
def find_nearest_multiple_of_five(input_number):
if input_number % 5 == 0: # 如果已经可以被5整除,直接返回
return input_number
elif input_number > 0:
nearest_multiple = round(input_number / 5) * 5 # 向上取整到最接近的5的倍数
else:
nearest_multiple = round(input_number / 5) * 5 - 5 # 向下取整,因为负数应该靠近较小的负整数
difference = abs(input_number - nearest_multiple)
original_difference = abs(input_number - (input_number // 5) * 5) # 比较原始差距和新差距
if difference < original_difference:
return nearest_multiple
else:
return -1
# 用户输入测试
number = float(input("请输入一个正实数:"))
result = find_nearest_multiple_of_five(number)
print(f"结果是:{result}")
#
阅读全文