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 是吗?
----------------解决方案--------------------------------------------------------