C++ 提供的工具,简化代码。
- max(a, b) : 返回变量a,b 中更大的那个值。
是 if(a>b) {返回a;} else {返回b;}的简化
-
min(a,b): 返回变量a,b 中更小的那个值 注意,参数只能是两个,当需要判断3个以上时,需要多次调用改函数:
max(a, max(b,c)); max(max(a,b),max(c,d)); 注意括号。
-
ceil(a) : 向上取整,也就是≥a的第一个整数,参数a一般是浮点数类型。 ceil(3.5) == 4; ceil(3.0) == 3; ceil(-3.5) = -3; 常用于类似: 300ml的杯子,需要喝1000ml水,要几杯 这类题目; 注意,先把结果变成浮点数,再ceil。 ceil(1000.0/300); ceil(1.0*a/b);
- floor(a): 向下取整,也就是≤a的第一个整数,参数a一般是浮点数类型。 floor(3.5) == 3; floor(3.0) == 3; floor(-3.5) = -4; 针对正的浮点数,向下取整与强转为整型的 结果是一样的,因此比较少用这个函数 int(3.5) == 3; int(3.0) == 3
- abs(a): 返回整型a的绝对值,绝对值的定义可以简单理解为把一个数的正负符号去掉。 abs(-3) == 3; abs(3) == 3; abs(-1024) == 1024; abs(1024) == 1024。 常用于计算距离。如两个人距离起点分别是a和b,那么他们之间的距离是 abs(a-b); 是if(a>b){返回a-b;} else {返回b-a;}的简化
- fabs(a): 返回浮点型a的绝对值, 与abs()的区别是参数类型不同。
- pow(a,b): 返回a的b次方,返回值是double类型。 pow(2, 3) == 8.0;
是类似 double s = 1; for(int i=1;i<=b;i++) {s*=a; }返回s; 的简化。
- sqrt(a): 返回a的平方根,返回值是double类型。sqrt(9)==3.0; sqrt(16)==4.0 例如勾股定理求斜边,直角边是a,b,斜边是sqrt(a*a+b*b);
- swap(a,b): 交换a,b变量的值。之前的函数都是拿返回值,而swap()一般单独使用。
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com