| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:最后这个0.000002是哪里来的?
取消只看楼主 加入收藏
gadden
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-11-7
收藏
 问题点数:0 回复次数:1 
最后这个0.000002是哪里来的?
#include<stdio.h>
void main()
{
int a,i=1,sum=0;
float ave=0;
while(i<=10)
{
printf("请输入一第%d人的成绩:",i);
scanf("%d",&a);
sum=sum+a;
i++;
}
ave=(double)sum/10;
printf("sum=%d",sum);
printf("ave=%lf",ave);
}

用VC编译连接后,输入9个90,一个44,总值是854,10个人的平均值是85.400002。
这是为什么?不是应该是85.400000吗?0.000002怎么跑出来的?
搜索更多相关主题的帖子: include double 平均值 
2006-11-14 20:37
gadden
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-11-7
收藏
得分:0 
还是不太明白。那么为什么double类型的就没这个问题?double不是比float精度更高吗?

为了学习必须挖坟。疯狂的挖坟才能找到压箱底的宝贝。
2006-11-14 21:01
快速回复:最后这个0.000002是哪里来的?
数据加载中...
 
   



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

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