17.上下取整

27 阅读1分钟

链接:ac.nowcoder.com/acm/problem…
来源:牛客网

题目描述

任意给出一个小数,编程求不小于它的最小整数与不大于它的最大整数。

即求出这个小数往下取整与往上取整的值。

输入描述:

输入一行,包含一个浮点数a,保证a0

输出描述:

输出两行,第一行表示a往下取整,第二行表示a往上取整。

示例1

输入

3.5

输出

3
4

备注:

floor(x)函数返回小于等于x的最小double类型整数  例如:ceil(3.8) 返回 3.0
ceil(x)函数返回大于等于x的最小double类型整数  例如:ceil(3.8) 返回 4.0

代码

#include <bits/stdc++.h>

using namespace std;

int main(){
    double a;
    cin >> a;
    
    //floor向下取整 3.8 变成 3.0
    //floor向下取整 3.1 变成 3.0
    int low = floor(a);
    
    //floor向上取整 3.8 变成 4.0
    //floor向上取整 3.1 变成 4.0
    int high = ceil(a);
    
    cout << low << endl;
    cout << high << endl;
    return 0;
}