華爲上機--取近似值

題目描述

寫出一個程序,接受一個正浮點數值,輸出該數值的近似整數值。若是小數點後數值大於等於5,向上取整;小於5,則向下取整。java


輸入描述:

輸入一個正浮點數值ios

輸出描述:

輸出該數值的近似整數值c++

輸入例子:
5.5
輸出例子:
6

問題分析:整數好理解,就是咱們經常使用的四捨五入,用輸入的數+0.5而後取整輸出就好。函數

關鍵是負數,這個問題描述的很不清楚,按理來講-5.5向上取整獲得的應該是-5,但是,華爲oj平臺獲得的結果是-6纔是爭取的,因此,若是是複數咱們只能這麼判斷,先將這個數取反(獲得正數),而後+0.5,而後用int來截斷取整,最後輸出的時候再將負號加回去。spa

-(int)(-a+0.5)code

或者blog

(int)(a-0.5)ci

c++代碼:it

#include <iostream>
using namespace std;
int main()
{
    float a;
    cin>>a;
    int num;
    if(a>0)
        num=(int)(a+0.5);
    else
        num=(int)(a-0.5);
    cout<<num<<endl;
    return 0;
}

java自帶函數 Math.round(x):io

import java.util.*;
import java.math.*;
public class Main{

    public static void main(String[] args) {
        
        Scanner scan=new Scanner(System.in);
        float number=scan.nextFloat();
        System.out.println(Math.round(number));
    }
}
相關文章
相關標籤/搜索