在C语言中,输出命令行中没有任何小数的原因可能是因为数据类型不匹配或者格式化输出的问题。 数据类型不匹配:如果使用了错误的数据类型来存储带有小数的数值,输出时可能会丢失小数部分。例如,如果使用了整数类型(如int)来存储带有小数的数值,输出时只会显示整数部分,而丢失小数部分。 解决方法:使用正确的数据类型...
这是因为C语言并没有提供以八进制和十六进制输出浮点数的格式符,所以不能输出小数。
原因是在scanf()函数中,变量为单精度浮点数使用%f,双精度浮点数则为%lf。如果你坚持要用%f,那么...
输出改为%lf,就可以了。建议把各种类型和对应的输出合适给记一下,会比较有帮助。
在fun中,for(i=1;i<=x;i++)里面 由于条件开始就不成立,所以for循环没执行,返回的就是y=1, 转换成float就是1.00
你把b的那句改改 b=((float)(a[0]+a[1]+a[2]+a[3]+a[4]))/5;这样就会有了
把y = sum/4;改成y = sum/4.0;因为sum是int型,4也是int型,两个整数相除,结果也是int型,就是常数的地板除,直接丢掉小数,且不进行四舍五入。改成sum/4.0后,4.0是double型,所以sum会自动转换成double型再参与运算,结果带小数。
"s1=s1+k"中,由于k是int型,计算时根据数据精度已精度的的为准的原则,运算s1已变为精度较低的int型,故输出的是整数,不是小数 改为"s1=s1+(double)k"再试试
scanf("%d",&a);这句错了,它把a当成整形术读入了,也就是略去了小数不服,应该改成 scanf("%f",&a);
C语言运行程序为什么没有输出数字,产生的原原因如下:1、输入的格式不对 要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,如果把 scanf("%f,%f,%f\n",&a,&b,&c);改为 scanf("%f%f%f",&a,&b,&c);就可以用空白符做分隔了。2、没有输出 ...