【提示】
输入一个小数点后位数不超过
位的实数
。保证实数不存在前导零和后导零。
在一行上输出一个整数,代表
四舍五入后的结果。
5.5
6
在这个样例中,
的小数部分大于等于
,因此输出向上取整后的整数
。
2.499
2
在这个样例中,
的小数部分小于
,因此输出向下取整后的整数
。
int main() {
float a;
cin >> a;
cout << round(a) << endl;
return 0;
}
//这个题的思路很简单,也很容易实现。可以使用强制类型转换运算来实现向下取整或者向上取整,
//注意一个细节:强制类型转换运算是一种严格取整运算,它的原则不是四舍五入,对于小数,
//最后的返回都会是整数部分,在C语言中强制类型转换是用括号加类型符如(int)a,标准C++的
//强制类型转换是static_cast<int>(a);
#include<iostream>
using namespace std;
int main()
{
double num;
while(cin>>num)
{
cout<<static_cast<int>(num+0.5)<<endl;
}
return 0;
}
/*
int main()
{
double num;
while(cin>>num)
{
int n=static_cast<int>(num);
if(num-n>=0.5)
cout<<n+1<<endl;
else cout<<n<<endl;
}
return 0;
}
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
double s;
while(cin>>s)
{
s=s+0.5;
int res = s;
cout<<res<<endl;
}
return 0;
}
import java.util.Scanner;
/**
* 十分位小于5,向下取整,反之向上取整
* @author BlHe
*
* 2017年8月27日下午3:45:09
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine().trim();
int index = str.indexOf(".");
int result = 0;
if (str.charAt(++index) >= '5'){
result = (int) (Double.parseDouble(str) + 1);
}else {
result = (int) Double.parseDouble(str);
}
System.out.println(result);
sc.close();
}
}
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
int n;
cin>>s;
int i = 0;
int tmp;
for(i=0;s[i]!=s.size();i++)
{
if(s[i] == '.')
{
break;
}
}
tmp = i-1;
if((s[++i]-'0') >= 5)
{
s[tmp]++;
}
for(i=0;i<=tmp;i++)
{
cout<<s[i]<<endl;
}
return 0;
}