向零舍入就是丢弃小数部分的截断语义,读入浮点数后直接转换为整数输出即可。
OJ: roj
题目 ID: 1019
难度:入门
标签:输入输出数学python
创建: 2026-09-29 13:31
更新: 2026-10-04 22:37
题目描述
输入一个单精度浮点数,把它向零舍入到整数(正数向下舍入、负数向上舍入),输出一个整数。样例:输入 2.3,输出 2。
思路
向零舍入就是丢弃小数部分,如
参考代码
Python 版:
python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-09-29 13:31
# update_at: 2026-10-28 14:10
import sys
def solve() -> None:
data = iter(map(float, sys.stdin.buffer.read().split()))
x = next(data)
# int() 截断小数部分:正数向下、负数向上,正好就是"向零舍入"
print(int(x))
if __name__ == "__main__":
solve()C++ 版(同一算法):
cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-10-04 22:37
* update_at: 2026-10-04 22:37
*/
#include <iostream>
using namespace std;
typedef long long ll;
int main() {
double x; // 读入的浮点数,用 double 读入即可,整数部分不会失真
cin >> x;
// double 转 ll 时隐式截断小数部分,正是题目要求的向零舍入
// 正数向下(2.3 -> 2),负数向上(-2.3 -> -2)
ll answer = x;
cout << answer << endl;
return 0;
}