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() 输出。
暂无评论内容