【算法编程】取近似值
一. 题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例1
输入:
5.5
输出:
6
说明:
0.5>=0.5,所以5.5需要向上取整为6
示例2
输入:
2.499
输出:
2
说明:
0.499<0.5,2.499向下取整为2
二. 解题思路总结:
1. 采用浮点数接收输入;
2. 判断s-(int)s是否大于0.5,如果大于则在强制类型转换时加一,否则直接强制类型转换。
三. Java代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
float s= sc.nextFloat(); //浮点数
int i= s-(int)s>=0.5?(int)(s+1):(int)s; //判断s-(int)s是否大于0.5,
System.out.println(i); //如果大于则在强制类型转换时加一,否则直接强制类型转换
}
}