① c语言中相处不取整的问题
int a = 3,c = 2;
float b;
b = (float) a/c; //运行的时候强制类型转换
printf("%f \n",b);
② C语言取整
修改之后的程序
#include "stdafx.h"
#include “stdio.h”
int main(int argc, char* argv[])
{
int a;
double s;
scanf("%lf",&s);
a=(int)s;
printf("%d\n",a);
return 0;
}
③ C语言中如何取整
参与运算量均为整型时,
结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
printf("%d,%d\n",10/3,-10/3);
printf("%f,%f\n",10.0/3,-10.0/3);
c语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int
i
=
2.5;
或
i
=
(int)
2.5;
这种方法采用的是舍去小数部分,可以用于你的问题。
2、c/c++中的整数除法运算符"/"本身就有取整功能(int
/
int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的c编译器有关。
3、使用floor函数。floor(x)返回的是x的整数部分。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:
ceil(2.5)
=
2
floor和ceil对于正数没有区别,但是对于负数结果不同。
④ C语言中如何将一个小数取整,不四舍五入
有差别,第一个不会做四舍五入的,它精确的进行了计算,第二个是正确的,进行了舍运算,这个运算是在(int)的时候利用类型转换做的
如果你输出的结果是一样的,我怀疑是你在输出的时候指定了输出精度,你检查一下你的printf或者cout
⑤ C语言有哪些取整函数
C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分
2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。
⑥ C语言中什么运算只取整数部分,什么时候不但取整,还要四舍五入 发现C语言中很多时候不用四舍五入
取整要看类型的自动转换了,,比如a和b都是整形数据,那么a/b的结果就一定是整形。结果就取整数部分,如果其中有一个是浮点型,那么结果就是浮点型,但是不会四舍五入,如果需要四舍五入那么应该写成a/b+0.5.自动转换的顺序是char,short,int,float,double,越往后优先级越高
⑦ C语言取整问题
sqrt(2*a-0.25)是不会取整的,如果你声明了n为int或long型,在算完sqrt(2*a-0.25)-0.5后再取整。你可以编个程验证下,就知道了