C99 标准函数库中引入了截断函数 trunc,用于对小数作截断处理。作为练习,我们自己编写一个功能与之相同的函数。
double Trunc(double x);
说明:参数 x 是任意实数,函数值为截去小数后的“整数”(小数部分为零的实数)。
裁判程序
#include <stdio.h>
#include <math.h>
double Trunc(double x);
int main()
{
double x, y;
scanf("%lg", &x);
y = Trunc(x);
printf("%.15g\n", y);
return 0;
}
/* 你提交的代码将被嵌在这里 */
输入样例1
-0.499
输出样例1
0
输入样例2
184.52
输出样例2
184
输入样例3
15374093826.63
输出样例3
15374093826
提示:利用C语言标准库中的 floor 函数和 ceil 函数。
相关习题:舍入问题(简版);截断问题(高级版)、舍入问题(高级版)。
double Trunc(double x)
{
if(x==0)//x=0时,输出0;
return 0;
else if(x>0.000001)
if(x!=floor(x))//判断x是不是为整数
return ceil(x)-1;//如果不为整数,则必须ceil(x)-1;
else
return x;//若为整数,则输出本身;
else if(x<0.000001)
return ceil(x)+0;//因为我此处总输出-0,所以加了一个+0;
}