dkfr.net
当前位置:首页 >> int除法 >>

int除法

两个int变量相除,结果一定是int类型的,这是由C语言所规定的。1/2 = 0,因为在C语言中/(除号)用于两个int类型时,结果只取整数部分,而不是根据四舍五入进行取舍。例如2/5的结果就是2,如果在赋值给一个float类型的数,那么就变为2.000000。

除法是基本运算,规则如下,如果两个操作数中有一个为浮点型,则结果为浮点,如果两个均为整型,则为整除。当整型取浮点时就要强制转换(float)或者(double) 例如: int a = 5; int b = 2; 则a/b的值为2(整除),而用(double)a/b的值则为2.5,...

你的 sum 和 n 都是 int 类型的,sum / n 返回的也是 int 类型的结果。 比如你的 sum = 1, n = 2,那么 sum / n 本来应该等于 0.5 ,当时 返回结果是 int 啊,所以这个时候小数点之后的数值就会被去掉,只将小数点之前的数值赋值给结果,就是 0...

Java 中有除法运算(/)和取余运算(%)。如果是两个int相除,取整除部分,忽略余数;如果是两个int取余,取余数部分,忽略整除。如:public static void main(String[] args) {int m = 5;int n = 2;System.out.println("整除:" + (m / n)); //...

对,两个 int 类型的值,做加减乘除操作之后仍然是 int 类型

这个是默认定义的值的类型是int类型导致的。 如:5/2;此时结果为:2,因为5和2都是默认的int类型。 如果不想得到整形,那么必须定义分子和分母都是double类型才可以。 double a = 2; double b = 5; System.out.println(b/a); 结果就是:2.5.

int/int=int double/int=double int/double=double float/int=float 同上 你改下a=8.0/3 或8/3.0 或8.0/3.0 还有就是你的输出时最好用%lf

可以通过强制数据类型转换运算符()来实现。 示例代码如下: #include int main(){ printf("%e\n", (double)1 / 3);printf("%f\n", (float)1 / 3); return 0;}运行结果:

#include "stdio.h" #include "math.h" void main(void) { int a,b,c,d,e,g; float f; printf("int a,b"); scanf("%d %d",&a,&b); c=a+b; d=a-b; e=a*b; f=a/(float)b ; g=a%b; printf("c=%d\n d=%d\n e=%d\n f=%f\n g=%d\n",c,d,e,f,g); } 整数...

肯定是这样的噻。。 你需要进行强制类型转换的,将a或b转换为double类型的,然后得出来的结果才会有小数点的。 你这样做只是进行的整数除法的。

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com