| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:小弟小菜,这程序哪错了
只看楼主 加入收藏
txcl2010
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2010-5-25
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:6 
小弟小菜,这程序哪错了
#include<stdio.h>
void main()
{
 int sign,deno;
 float sum,term;
 sign=1;
 deno=2;
 sum=1.0;
 while(deno<=100)
 {
 sign=(-1)*sign;
 term=sign/deno;
 sum=sum+term;
 deno=deno+1;
 }
 printf("%f\n",sum);
 getch();
 }

为什么编译后是1.0000000
搜索更多相关主题的帖子: 小菜 
2010-05-26 18:56
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:20 
楼主最好是定义同一类型,或者要强制转换啊term=(float)sign/deno;
sign/deno=0;而不是-0.5;加上强制转换就行啦

[ 本帖最后由 zhanfffmmm 于 2010-5-26 19:09 编辑 ]
2010-05-26 19:05
txcl2010
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2010-5-25
收藏
得分:0 
回复 2楼 zhanfffmmm
谢谢兄弟了,搞定

坚持写C的加QQ:57876583
2010-05-26 19:43
xiaomanaruto
Rank: 6Rank: 6
等 级:侠之大者
帖 子:79
专家分:443
注 册:2010-4-1
收藏
得分:0 
#include<stdio.h>
void main()
{
int sign;
float sum,term,deno;//你的deno应该定义成float型,否则会丢失数据
sign=1;
deno=2;
sum=1.0;
while(deno<=100)
{
sign=(-1)*sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}
printf("%f\n",sum);
getch();
}
程序应该是输出的1-1/2+1/3......+1/99-1/100的结果
2010-05-26 19:51
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
回复 3楼 txcl2010
我们初学者,要经常看看书,尤其是数据类型和优先级等。这些问题书上都有解释,加油啊
2010-05-26 19:57
txcl2010
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2010-5-25
收藏
得分:0 
以下是引用zhanfffmmm在2010-5-26 19:57:11的发言:

我们初学者,要经常看看书,尤其是数据类型和优先级等。这些问题书上都有解释,加油啊
谢谢!

坚持写C的加QQ:57876583
2010-05-26 19:58
血煞冰雯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-26
收藏
得分:0 
兄弟们好啊!小弟刚加入!以后请各位多多指教
2010-05-26 20:26
快速回复:小弟小菜,这程序哪错了
数据加载中...
 
   



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

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