标题:[求助]FOR语句
取消只看楼主
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
结帖率:100%
 问题点数:0 回复次数:3 
[求助]FOR语句


算法1-1/2+1/3-1/4+…+1/99+1/100

main()
{
int sign=1,deno=2,term,sum=1;
for(deno;deno<=100;deno++)
{
sign=-1*sign;
term=sign*(1/deno);
sum=sum+term;
}
printf("%d",sum);
getch();

}

这个程序
我运行得出的结果是等于1呢~~

如果只是类型得问题
我换成这样写把上面得sum和term定义为浮点型
main()
{
int sign=1,deno=2;
float sum=1.0,term;
for(deno;deno<=100;deno++)
{
sign=-1*sign;
term=sign*(1/deno);
sum=sum+term;
}
printf("%f",sum);
getch();

}

得到得结果也是1;
而不是最佳得答案 0.688172

大家帮忙看下`

[此贴子已经被作者于2007-11-13 9:26:06编辑过]

搜索更多相关主题的帖子: 语句 FOR 
2007-11-13 09:24
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
得分:0 
LS得 谢谢你直接给我写初程序`
只是我要得不只是你直接写初程序得
我要的是帮我解释下~~为什么那两个程序都不可以``

用代码打出楼房...用编程编出幸福...
2007-11-13 09:32
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
得分:0 

LS的正解
可为什么term=sign*(1/deno)都等于0

他不是也参加了循环吗


用代码打出楼房...用编程编出幸福...
2007-11-13 09:44
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
得分:0 

呃~~~谢谢了~~~


用代码打出楼房...用编程编出幸福...
2007-11-13 09:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-185674-1-1.html




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

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