请教一下,我的程序为什么输出不了小数呢?为什么它的结果输出为整型?

如题所述

第1个回答  2019-09-24
首先double型的数据输出应当使用%lf
第1题,a/b是double型除以double型,得出浮点数输出没有问题,即使给double型变量赋值整数,但程序会自动进行强制数据类型转换成double后进行赋值
第2题,由于56/7的除数和被除数都是整数,计算机自动采用整型数进行计算,得到的是整型数据,但输出语句采用%f格式输出整型数据,所以得不到正确的结果,要得到正确结果需要写成:(float)56/7
第2个回答  2019-09-24
只写setprecision方法是控制有效位数如果你写的是setprecision(3)那么结果应该就是10.0
cout<<fixed<<setprecision(2)<<sum<<endl;
你改成这样试试本回答被提问者采纳

为什么有 #include"stdlib.h" 不能正常输出小数? 代码在下面。
是否能正确输出小数,与头文件stdio.h无关,stdio.h被包含是因为你程序中要用到scanf和printf函数的原因 在计算b=a\/5;时,计算机取得参与运算的两个数,变量a中的数和常数5,而两个数都是整型数据,因此按照整型数据进行计算,得到整型数据结果,舍弃小数部分,然后因为b是float型的变量因此将这个整型...

c语言为什么输出8进制没有小数
这是因为C语言并没有提供以八进制和十六进制输出浮点数的格式符,所以不能输出小数。

c语言中运行结果中该有却没有小数,为什么?
"s1=s1+k"中,由于k是int型,计算时根据数据精度已精度的的为准的原则,运算s1已变为精度较低的int型,故输出的是整数,不是小数 改为"s1=s1+(double)k"再试试

返回值为整型数是什么意思,举例说明
例如简单游戏的血量,金钱数等,都是整数型。而返回值为整数型,就是一个函数经过执行后,最终处理出的结果是一个整数型变量。你可以直接将这个变量显示出来,也可以用判断等命令利用返回值进行处理,比如返回1执行函数1,返回2执行函数2,返回值大于10则结束程序等等。建议理解透彻后灵活使用,不要死记。

哪位看一下下面这段程序 为什么定义返回值是double 结果是整型
其实是返回的double 因为有效位是6位所以多于的位数被舍掉,还有就是小数末尾是0的也会被删掉,你可以用在输出是用setiosflags(ios::fixes)和setprecison()来控制输出

初学编程c++帮我分析下结果为什么没有小数
double division(double dividend, double divisor){ if(0 == divisor){ \/\/ 抛出异常,字符串“除数不能为0”throw string("除数不能为0");} else { return dividend \/ divisor;} }

mac中python 2.7版本的输出不能输出小数吗
可以。先将整型转换成float型,再进行计算,结果就有小数了。注意,只能先转换后去除,不能先除后转换,因为先除的结果已经是整数了。python2.7官方版是一款面向对象、直译式计算机程序设计语言,python2.7官方版也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。

为什么这个c程序输出的是2.0000#include<stdio.h> main() { double...
楼主你好~~虽然a为double型,但算式5\/2不包含带小数点的数,因此这个算式输出为整型,5\/2为2.5,整型化的话,会变为2,然后再赋值给double型的a,就会变成2.000000 如果想输出的数为正常的浮点型,则计算式的过程中,必须出现至少一个浮点型式的数,比如5.0\/2,这时再赋值给double型的a,就会...

怎样让c语言程序输出结果为小数形式?
利用C语言使输出值为小数的编程方法和思想如下:1.首先需要定义一个变量作为后续需要输出的数。这里以定义一个变量a为例。需要注意的是,整型int是不支持转化的。2.然后使用scanf()函数接受从键盘输入的一个数,这样就为变量a成功赋值。3.接着使用printf语句来对数a进行小数化的处理。处理格式为:【%....

为什么函数返回值为float,但返回的却是int?
a,n)<<endl;\/\/表示精确到小数点后两位 楼上的说法是错的,强制类型转换是优先的,会先转换为float型再相除,而一个float型跟一个int型进行运算的时候系统会把们都转换为float型后进行运算的,写成float(total)\/x不会错,但是为了好看一点可以再将类型转换用括号括起来(float(total))\/x ...

相似回答