C语言求最大整数

来源:互联网 发布:淘宝开店要求品牌注册 编辑:程序博客网 时间:2024/05/16 08:16

一、题目:

编写函数getfloor(x),返回小于等于x的最大整数,例如getfloor(2.8)为2,getfloor(-2.8)为-3,输入double型x,输出整型。

二、源代码

#include <stdio.h>
#include <math.h>

int getfloor(double x){
  int value;
  if(x>=0)//如果是大于等于0的正数
    value= (int) x;
  else{    //如果是小于0的负数,则分两种情况:-2.8,取整为-2,实际为-3,判断依据:-2.8减去取整得到的数的值小于0; -2.0,取整得到的数为-2,此时两者相等
    int temp= (int)x;
    if(x-temp*1.0<0)
        value=temp-1;
else
    value =temp;
  }
    return value;
}

int main(){
    double x;
    int value;
    scanf("%lf",&x);
    value = getfloor(x);
    printf("%d",value);
    return 0;
}




原创粉丝点击