华为机试——取近似值
题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例1
输入
5.5
输出
6
我的破代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
int main(){
double num;
cin>>num;
int num2=(int(num*10))%10;
int num1=num;
if(num2>=5)cout<<num1+1<<endl;
else cout<<num1<<endl;
return 0;
}
其他人的代码:(看看人家)
#include <stdio.h>
int main(void)
{
double num;
scanf("%lf",&num);
printf("%d",(int)(num + 0.5));
return 0;
}