在一行上输入一个小数点后位数不超过
位的实数
。
在一行上输出一个整数,代表
四舍五入后的结果。
5.5
6
在这个样例中,
的小数部分大于等于
,因此输出向上取整后的整数
。
2.499
2
在这个样例中,
的小数部分小于
,因此输出向下取整后的整数
。
python3
n = list(input().split('.')) n_1 = int(n[0]) n_2 = int(n[1]) if n_2 >= 5: n_1 += 1 print(n_1)
int main() { float a; cin >> a; cout << round(a) << endl; return 0; }
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { float num; int res = 0; while (cin >> num){ string tmp = to_string(num); if (stoi(tmp.substr(2, 1)) >= 5) cout << ceil(num) << endl; else cout << floor(num) << 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(); } }