机试题目:输出正浮点数的近似整数值

1.题目:空间限制:32768K

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。

输入描述:

 
 

输入一个正浮点数值

输出描述:

 
 

输出该数值的近似整数值


2.优化前代码:3ms

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

3.时间优化:1ms

#include <stdio.h>
int fun(float a)
{
    int aa = 0;
    aa = (a + 0.5);
    return aa;
     
}
 
int main()
{
    float a;
    int b;
    scanf("%f",&a);
    b = fun(a);
    printf("%d", b);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_22227123/article/details/80833617
今日推荐