函数原型为:
double ceil(double x);
大家可以在这个网站里更清晰的了解ceil - C++ Reference (cplusplus.com)
下面借助一道例题来帮助大家理解:牛牛的快递_牛客题霸_牛客网 (nowcoder.com)
我们分析题得知,在大于1的情况下,只要该数不是整数,我们就得让它向上取整。如果没有这个函数,我们可以这样写:
int result = 0;
float a = 3.1f;
if (a > (int)a)
{
result += (int)a + 1;
}
else
{
result += (int)a;
}
当我们知道有这个函数的时候,我们就可以更方便的解决向上取整这类问题:
float a = 3.1f;
int result = ceil(a);//result == 4
我们在使用该函数时,要包含对应的头文件#include<math.h>。
下面给出该题代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a = 0;
char b = 0;
scanf("%f %c",&a,&b);
int money = 20;
if(a>0 && a<1)
{
;
}
if(a>1)
{
money = money + ceil(a-1);
}
if(b == 'y')
{
money += 5;
}
printf("%d",money);
}