山科日记—编写函数myFloor和myCeil(编程题)
Description
取整函数有四个,分别是 fix, floor, ceil, round。这里要求你编写myFloor和myCeil函数,它们的原型分别是:
int myFloor(double data);
int myCeil(double data);
其中myFloor函数的结果是不大于data的最大整数,myCeil函数的结果是不小于data的最小整数。
注意:不能使用math.h和stdlib.h两个头文件。
Input
输入有多行,每行是一个需要转换的实数。
Output
输出为多行,与上述输入一一对应。每行先输出floor函数的结果,再输出ceil函数的结果。两者之间用一个空格隔开。取整之后的结果不超出int类型的表示范围。
Sample Input
1.3
-1.5
2
Sample Output
1 2
-2 -1
2 2
HINT
Append Code
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; }
作者:7oDo
仅供参考,请勿抄袭。
Hang Hang Hang !!!