c语言中如何做小数取整,比如说 float i,b,c; i=8; printf(请输入b的值);

c语言中如何做小数取整,比如说
float i,b,c;
i=8;
printf(请输入b的值);
scanf("f%",&b);
c=b/i;
如果用户输入20那么c就等于2.5,那么我就不想让他等于2.5,想让他等于3。
如果输入30那么c就等于3.7,那么我就不想他等于3.7,想让他等于4。
如果输入16那么等于2就等于2不变,能除清不剩小数则不变,有小数则去掉小数加1

#include <stdio.h>

int main(void)
{
float i,b;
int c;
i=8;
printf("请输入b的值");
scanf("%f",&b);
c=b/i;

printf("%d\n",c+1);
}

最简单的方法,
使用函数:
#include <stdio.h>
#include <math.h>

int main(void)
{
float i,b;
float c;
double a;
i=8;
printf("请输入b的值");
scanf("%f",&b);
c=b/i;
a = ceil(c);
printf("%f\n",a);
}

望你采纳!追问

...如果有余的话就是8.8+1就是9.8了而且如果没有余也一样会加一

追答

不可能的,我上面的定义的是整形变量,int c;如果结果是小数,会自动去掉小数,变为整数!

然后加1,不就是你要的结果么!
3.7变为整型是3,
2.5变为整型是2
然后加1,就是你要的结果!

追问

如果刚好除完呢,16/8等于2那么就不用加一了啊

追答

如果是你说的上述情况的话,下面的程序可以完全搞定!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-26
有取整或者四舍五入的函数追答

你可以去搜一下

追问

如果算出来=4.4四舍五入过后等于4我不是亏大发了

追答

。。。有函数分上取整个下取整

第2个回答  2014-10-26
c = (int)b%(int)i ? (int)b/(int)i + 1 : (int)b/(int)i;本回答被提问者采纳
相似回答