山科日记—编写函数myFloor和myCeil(编程题)

Description

取整函数有四个,分别是 fix, floor, ceil, round。这里要求你编写myFloormyCeil函数,它们的原型分别是:

int myFloor(double data);

int myCeil(double data);

其中myFloor函数的结果是不大于data的最大整数,myCeil函数的结果是不小于data的最小整数。

注意:不能使用math.hstdlib.h两个头文件。

Input

输入有多行,每行是一个需要转换的实数。

Output

输出为多行,与上述输入一一对应。每行先输出floor函数的结果,再输出ceil函数的结果。两者之间用一个空格隔开。取整之后的结果不超出int类型的表示范围。

Sample Input

1.3

-1.5

2

Sample Output

1 2

-2 -1

2 2

HINT

Append Code

append.c,

int main()

{

    double data;

    while (scanf("%lf",&data)!=EOF)

    {

        printf("%d %d\n",myFloor(data),myCeil(data));

    }

    return 0;

}

#include <stdio.h>
//#include <stdlib.h>
//#include <math.h>
//#include <string.h>
int myFloor(double data)
{
    if(data==(int)data||data==-(int)data)
        return data;
    else if(data>=0)
        return (int)data;
    else
        return (int)data-1;
}
int myCeil(double data)
{
    if(data==(int)data||data==-(int)data)
        return data;
    else if(data>=0)
        return (int)data+1;
    else
        return (int)data;
}
int main()
{
    double data;
    while (scanf("%lf",&data)!=EOF)
    {
        printf("%d %d\n",myFloor(data),myCeil(data));
    }
    return 0;
}

  

转载于:https://www.cnblogs.com/Jie-Fei/p/8298976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值