B2016浮点数向零舍入
查看原帖
B2016浮点数向零舍入
1469438
tuonisitake楼主2024/9/22 10:53

这道题使用强转不能拿满分,所以使用了math.h的头文件。floor(num)是正数向下转换为整数,ceil(num)是负数向上转换为整数,恰好符合题目条件,最后加个判断,如果为0就直接返回。代码如下:

#include <stdio.h>
#include <math.h>
int main() {
    double a;
    double b;
    scanf("%lf",&a);
    if (a>0)
    {
        b= floor(a);
    } else if (a<0)
    {
        b= ceil(a);
    } else{
        b=a;
    }
    printf("%0.0lf",b);
    return 0;
}
2024/9/22 10:53
加载中...