问一道C语言题:浮点数取整
发布网友
发布时间:2022-04-30 20:34
我来回答
共1个回答
热心网友
时间:2023-10-11 01:00
int myFloor(double data)
{
int i;
i = (int)data; //先变成整数
if(i == data) //data本来就是整数
{
return i;
}
if(i < 0) //负数的下取整需要减1,正数就是自己
{
i--;
}
return i;
}
int myCeil(double data)
{
int i;
i = (int)data; //先变成整数
if(i == data) //data本来就是整数
{
return i;
}
if(i > 0) //正数的上取整需要加1,负数就是自己
{
i++;
}
return i;
}
追问显示67%错误。。
追答
饿,判断正负数那里有问题,不能用i,要用data,更改之后。
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;
}