十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言数学函数ceil(), floor(), round()
10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有济宁免费网站建设让你可以放心的选择与我们合作。
#include math.h
double ceil(double x);
double floor(double x);
double round(double x);
ceil(x)返回不小于x的最小整数值(然后转换为double型)。
floor(x)返回不大于x的最大整数值。
round(x)返回x的四舍五入整数值。
首先得明确一点:整数是实数的一个子集
在c语言中,double是实数类型,int是整数类型
关键的是他们的作用范围不同
double能够表示 [-10^308,10^308]
int只能表示[-2^31,2^31)
若返回值为int的话,可能会超出int的范围。
C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int
i
=
2.5;
或
i
=
(int)
2.5;
这种方法采用的是舍去小数部分
2、C/C++中的整数除法运算符“/”本身就有取整功能(int
/
int),但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
ceil(2.5)
=
3
ceil(-2.5)
=
-2
floor()是向负无穷大舍入,floor(-2.5)
=
-3;ceil()是向正无穷大舍入,ceil(-2.5)
=
-2。
这两个函数在VC++中也能使用,但使用时需要包含math.h文件。要在程序的开始添加如下代码:
#include
math.h
ceil()
这个函数是向上取整,我想不需要多解释,c语言中.两个int型的数相除的到数,还是int型,若有小数,直接舍去,例如:
17/4=4.25
但是c语言中会把0.25舍去.所以结果为4.
#include
#include
int
main()
{
int
x=17,n=4,a,b;
a=floor(x/n);
b=ceil(x/n);
printf
("x/n
is
%d\n",x/n);
printf("%d\n",a);
printf("%d\n",b);
return
0;
}