Ⅰ c语言中,两整数相除,求带两位小数的结果怎样实现
把变量改成双精度型的就可以了。
Ⅱ C语言两数相除
8和5默认为整型,整型之间的运算结果是整型,所以8/5结果是整型1。整型1在内存中的形式是31个0,和最后一位是1。
用%d打印是对整型的打印,所以结果是1,没有问题。
用%f打印是对浮点数的打印,它会去找相应的符号位、有效数字位、和幂次位,结果找到31个0和1个1,输出结果就成了那个怪模怪样的东东。
printf("%f\n",(float)(8/5)); 是对的。
Ⅲ c语言中,两个整型数据相除,结果用浮点型变量储存,为什么输出的结
C语言中,两个整数相除,结果是也是整数,如果被除数不是除数的整数倍,那么结果会直接舍弃小数,只保留整数部分,并且不会进行四舍五入,是直接舍掉小数,注意。
用你举的例子:409/5,它的结果是81,不是81.8,如果要让结果保留小数部分,那么可以考虑给被除数或除数写成带小数的形式,比如写成:409.0/5或409/5.0或者409.0/5.0
Ⅳ c语言 两个函数除法怎么弄
不是“必须"有一个是浮点型,只不过如果两个数都是整形的话,会按照整形数的除法,只有商的部分。
直接相除就行,比如:有
doublef1();
doublef2();
intf3();
intf4();
就可写:
doubled1=f1()/f2();
doubled2=f1()/f3();//等号右侧表达式为浮点型;
intd3=f3()/f4();//等号右侧表达式为int型;
doubled4=((double)f3())/f4();//将第一个函数的返回值转换为double型