仅供参考,共同进步。

山科日记—编写函数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;
}

  

posted @ 2018-01-16 21:46  南山i  阅读(222)  评论(0编辑  收藏  举报