1取近似值

描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。

数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

示例1

输入:

5.5

输出:

6

说明:

0.5>=0.5,所以5.5需要向上取整为6   

示例2

输入:

2.499

输出:

2

说明:

0.499<0.5,2.499向下取整为2   

代码:
 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main()
{
    int n;
    double num;
    double xiao;
    scanf("%lf",&num);
    n = (int)floor(num);
    xiao = num - n;
    if(xiao >= 0.5) {
        printf("%d",n+1);
    }
    else {
        printf("%d",n);
    }
}

这道题主要学习下c语言中的取整函数:floor

头文件<math.h>

double floor(double x)
该函数返回不大于 x 的最大整数值。

n = (int)floor(num); 注意这里强转下,第一次写的时候没有强转,直接用%d输出存在问题;

double型的数据直接用%d输出智慧取数据的低32位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值