华为机试(7.取近似值)
问题:
题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例1
输入
5.5
输出
6
解决:
思想:
- 这道题的核心在于,判断小数是小于0.5还是大于等于0.5
- 那我们只需要让这个数加0.5,然后取其int值,如果还和之前的int值一样,则代表小数小于0.5,否则小数大于0.5
- 对于小数小于0.5的数,直接取其int值;否则取int值+1
python代码:
import sys
n=float(sys.stdin.readline().strip())
int_n=int(n)
if(int(n+0.5)==int(n)):
print(int_n)
else:
print(int_n+1)