当前位置: 代码迷 >> C语言 >> 为什么两个同样的程序改了数值后一个有小数一个没有呢
  详细解决方案

为什么两个同样的程序改了数值后一个有小数一个没有呢

热度:117   发布时间:2006-10-27 14:15:34.0
为什么两个同样的程序改了数值后一个有小数一个没有呢


main()
{
float radius,length,area,pi=3.1415926;
radius=1.5;
length=2*pi*radius; /*求圆周长*/
area=pi*radius*radius; /*求圆面积*/
printf(“radius=%f\n”,radius); /*输出圆半径*/
printf(“length=%7.2f,area=%7.2f\n”,length,area); /*输出圆周长、面积*/
}

运行结果:radius=1.500000
length= 9.42,area= 7.07

我根据上面那个改了一下数值,变成下面那样了.
main()
{
float radius,length,area,pi=5.2;
radius=2.5;
length=2*pi*radius;
area=pi*radius*radius;
printf(“radius=%f\n”,radius);
printf(“length=%7.7f,area=%7.7f\n”,length,area);
}

运行结果:radius=2.500000
length= 26.0000000,area= 32.5000000

为什么后面那程序会多出那么多0呢?

搜索更多相关的解决方案: 小数  数值  

----------------解决方案--------------------------------------------------------
你定义数据精度啊  你看看你的数据定义的是负电数

[此贴子已经被作者于2006-10-27 14:41:44编辑过]



----------------解决方案--------------------------------------------------------
改为%7.0f就没有那么多零了。兄弟多看看书。
----------------解决方案--------------------------------------------------------



还有一个问题

printf(“length=%7.2f,area=%7.2f\n”,length,area);

这是的7.2哪来的?


----------------解决方案--------------------------------------------------------


谢谢二位了.

是我没看好书...主要是我的书找不到这段内容啊..


----------------解决方案--------------------------------------------------------
=%7.2f
这的2代表你的浮点数小数后面取2位.
这的7带表你的浮点数的总的位数..
----------------解决方案--------------------------------------------------------
那就是说,如果是23.5

这样数时..如果用"=%7.2f" 那它就变成了23.50000 是吗?


----------------解决方案--------------------------------------------------------
  相关解决方案