| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1463 人关注过本帖
标题:问问题了!想了好久还是没想通!
只看楼主 加入收藏
wanzhiweime
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
 问题点数:0 回复次数:11 
问问题了!想了好久还是没想通!
问题:求1-1/2+1/3-1/4+...+1/99-1/100?
算法可以表示如下:
S1:sign=1
S2:sum=1
S3:deno=2
S4:sign=(-1)*sign
S5:term=sign*(1/deno)
S6:sum=sum+term
S7:deno=deno+1
S8:若deno≤100返回S4;否则算法结束.
       我想了好久,因为题目是一次负,再一次正.那S4表示的是sign可以是正也可以是负.那电脑怎么判断它什么时候是正什么时候是负呢?我搞不懂的是返回S4时,电脑是怎么选择sign是正还是负的.因为他的步骤好像没有说啊!对吧?
       如果不用写sign什么时候是正什么时候是负的话.那题目是1+1/2+1/3+1/4+...+1/99+1/100的话,那不是也可以用以上的那个表达式来表达了???
搜索更多相关主题的帖子: sign deno sum term 
2007-12-05 14:01
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
得分:0 
干嘛搞那么麻烦
算了,我把两种题目的答案给你   你自己对比一下吧
首先   题目 【1+1/2+1/3+1/4+...+1/99+1/100?】
程序如下:
main()
{
  int i=2;
 float sum=1.0;
 while(i<=100)
 {
   sum+=1/i*1.0;
   i++;
  }
 printf(("sum=%f\n",sum);
}


         题目 【1-1/2+1/3-1/4+...+1/99-1/100?】
程序如下:
main()
{
  int i=2;
 float sum=1.0;
 while(i<=100)
 {
   if(i%2!=0)
   {
    sum+=1/i*1.0;
    i++;
    }
    else
   {
    sum-=1/i*1.0;
    i++;
    }
  }
 printf(("sum=%f\n",sum);
}

南瓜QQ:281467266 邮箱 hack.nangua@ 望多多结交网络编程爱好者.
2007-12-05 14:24
wanzhiweime
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
得分:0 
我是初学者!你写的有些都看不懂啦!只要帮我解释一下我说的那个问题就好了!谢谢!

2007-12-05 14:45
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
S4:sign=(-1)*sign
这里表示的是-1的sign次方 所以单数项为负,偶数项为正
2007-12-05 14:54
wanzhiweime
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
得分:0 
原来是这个意思啊?那个"*"号就应该是在数字的上面呀!可是书上写的就是在中间,那就是乘以吧?难道是书上写错啦?还是编程里就是这样表达的呀?

2007-12-05 15:02
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
1-1/2+1/3-1/4+...+1/99-1/100
-1/2为第一项
首先sign=1
S4:sign=(-1)*sign   即sign=(-1)*1=-1
第二次:S4:sign=(-1)*sign,即sign=(-1)*(-1)=1 所以第2项为正
以次类推  试着看下2楼的程序
2007-12-05 15:04
wanzhiweime
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
得分:0 
还有,谢谢YOU!呵呵!

2007-12-05 15:06
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
原帖由 [bold][underline]wanzhiweime[/underline][/bold] 于 2007-12-5 15:02 发表 [url=http://bbs.][/url]
原来是这个意思啊?那个"*"号就应该是在数字的上面呀!可是书上写的就是在中间,那就是乘以吧?难道是书上写错啦?还是编程里就是这样表达的呀?

不,是我表达错了~~~ 但是意思是那个意思 书并没有写错
2007-12-05 15:07
mndren
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-11-17
收藏
得分:0 
判断输入的数是奇数还是偶数,然后用两个函数实现
2007-12-05 15:11
wanzhiweime
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
得分:0 
恩!我知道了!我看懂了!呵呵!谢谢你们!

2007-12-05 15:27
快速回复:问问题了!想了好久还是没想通!
数据加载中...
 
   



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

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