华为机试第七题:HJ7 取近似值

一、网址链接

牛客----https://www.nowcoder.com/ta/huawei

二、题目描述

①描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内

②输入描述

输入一个正浮点数值

③输出描述

输出该数值的近似整数值

④示例一

输入: 5.5
输出: 6
说明: 0.5>=0.5,所以5.5需要向上取整为6

⑤示例二

输入: 2.499
输出: 2
说明: 0.499<0.5,2.499向下取整为2

三、代码实现

①Java代码实现

import java.util.Scanner;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNext()){
    
    
            double d=scanner.nextDouble();
            int da=(int)d;
            if((d-da)>=0.5 && (d-da)<1)
                da++;
                System.out.println(da);
        }
    }
}

②C++代码实现

#include<stdio.h>
#include<string.h>

int main() {
    
    
    float number;
    scanf("%f",&number);
    int n = (int)number;
    if ((number-n)>=0.5 && (number-n)<1)
        n++;
    printf("%d",n);
    return 0;
}

③C代码实现

#include<stdio.h>
#include<math.h>

int main() {
    
    
    float number;
    scanf("%f\n",&number);
    printf("%d\n",(int)(number+0.5));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/faramita_of_mine/article/details/124655954
今日推荐