| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 501 人关注过本帖
标题:请教大家,好奇怪的问题
取消只看楼主 加入收藏
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请教大家,好奇怪的问题
大家好,我是新手,才学C没多少天,现在有个奇怪的问题,不知道错在哪里,请教大家给我指点指点。
题目是求1-1/2+1/3-1/4...+1/99-1/100
main()
{
int sigh=1;
float deno=2.0,sum=1.0,term;
while(deno<=100)
{
 sigh=-sigh;
 term=sigh/deno;
 sum=sum+term;
 deno=deno+1;
}
printf("sum is %f",sum);
getch();
}

以上是标准答案,结果是0.688172

main()
{
int sigh=1;
float deno=2.0,sum=1.0,term;
for(deno=2.0;deno<=100;deno++)
    sigh=-sigh;
    term=sigh/deno;
    sum=sum+term;
printf("sum is %f",sum);
getch();
}
以上是我改写的,用for语句替换,结果就变成了0.990099.我实在不明白啊,错在哪里了?
2010-04-12 20:35
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
求各位前辈赐教啊,我十分喜欢C,喜欢那种编译成功的感觉。。。
2010-04-12 20:37
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
以下是引用hahayezhe在2010-4-12 20:44:36的发言:

 语句块的概念
能告诉我具体我错哪了吗?谢谢啦
2010-04-12 20:45
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:0 
以下是引用hahayezhe在2010-4-12 21:00:26的发言:

你少了个语句块 { }
 必须用这个大括号 控制for循环的范围

要不for循环以 ; 分号结束
谢谢你,确实加了{}后,就对了,但还是比较疑惑,因为看书中别的例题似乎没用{}来将for循环控制的,但还是很感谢你,这也为以后学习提了个醒,有了个注意点!
2010-04-12 21:06
快速回复:请教大家,好奇怪的问题
数据加载中...
 
   



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

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