C语言计算浮点数相邻最大最小整数的函数

C语言中怎样表示大于X的最小整数;比如任意给定x=9.234,编程实现求大于或等于x的最小整数,怎么写代码?

方案1:

int x1 = (int)x;
int x2 = (int)(x + 1);

方案2:

取整函数

int myFloor(double data)
{
int i;

i = (int)data; //先变成整数

if(i == data) //data本来就是整数
{
return i;
}

if(data < 0) //负数的下取整需要减1,正数就是自己
{
i–;
}

return i;
}

int myCeil(double data)
{
int i;

i = (int)data; //先变成整数

if(i == data) //data本来就是整数
{
return i;
}

if(data >= 0) //正数的上取整需要加1,负数就是自己
{
i++;
}

return i;
}

方案3:c语言返回一个不小于或者不大于X的最大最小整数

C语言数学函数
ceil(), floor(), round()
#include

double ceil(double x);

double floor(double x);

double round(double x);

ceil(x)返回不小于x的最小整数值(然后转换为double型)。

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

round(x)返回x的四舍五入整数值。

 

方案4:C语言floor()函数:向下取整,即求不大于某个数的最大整数

头文件:#include <math.h>

floor() 向上取整,即求不大于某个数的最大整数,其原型为:
double floor (double x);

【参数】x 为一个指定的数。

【返回值】返回一个不大于 x 的最大整数。

【实例】求不大于1.123的最大整数。
复制纯文本新窗口

#include<stdio.h>
#include<math.h>
int main(void)
{
double resut;
double x =1.123;
resut = floor(x);/*这个函数相当于把x小数部分去掉*/
printf(“floor(%lf) = %lf\n”,x,resut);/*输出*/
return 0;
}
运行结果:
floor(1.1230000) = 1.000000

例子开始时定义两个变量,resut为结果变量,保存计算结果。x作为指定数变量提供参数,语句resut = floor(x)即 返回不大于指定数的最大整数,最后的结果使用 printf() 输出。

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发