| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:为什么两个同样的程序改了数值后一个有小数一个没有呢
只看楼主 加入收藏
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:6 
为什么两个同样的程序改了数值后一个有小数一个没有呢


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:15
huangs415
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2006-10-14
收藏
得分:0 
你定义数据精度啊  你看看你的数据定义的是负电数

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


2006-10-27 14:38
husi
Rank: 1
等 级:新手上路
威 望:1
帖 子:46
专家分:0
注 册:2006-10-17
收藏
得分:0 
改为%7.0f就没有那么多零了。兄弟多看看书。

2006-10-27 14:46
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 



还有一个问题

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

这是的7.2哪来的?


道路再坚难都不能止步
2006-10-27 14:56
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 


谢谢二位了.

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


道路再坚难都不能止步
2006-10-27 14:57
小小贝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-9-21
收藏
得分:0 
=%7.2f
这的2代表你的浮点数小数后面取2位.
这的7带表你的浮点数的总的位数..
2006-10-27 22:15
蔚蓝冰帝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 
那就是说,如果是23.5

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


道路再坚难都不能止步
2006-10-28 08:44
快速回复:为什么两个同样的程序改了数值后一个有小数一个没有呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018694 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved