| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2756 人关注过本帖
标题:请教大家,1-100的自然数求和程序里,如果先循环再累加求出的是什么啊??
只看楼主 加入收藏
evaooa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
请教大家,1-100的自然数求和程序里,如果先循环再累加求出的是什么啊??
请教大家,1-100的自然数求和程序里,如果先循环再累加求出的是什么啊??
如下
s=0
i=1
do while i<=100
i=i+1
s=s+i
enddo
?s
return
这样求出的和是5150

而正常的1-100的自然数求和程序应该是先累加再循环,得到的值是5050,如下
s=0
i=1
do while i<=100
s=s+i
i=i+1
enddo
?s
return

我以为我懂了,看来我还是不懂,请问第一个程序求出的是什么呢,怎么多了100呢!!!                                       
搜索更多相关主题的帖子: 自然数 
2016-04-01 10:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
顺序错了

坚守VFP最后的阵地
2016-04-01 10:54
evaooa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-1
收藏
得分:0 
怎么没人回答啊,我觉得应该得5049才对啊,明明就是先循环的少了一个1
2016-04-01 10:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:15 
这样看看:
s=""
i=1
DO WHILE i<=10
    i = i+1
    s = s + "+" + TRANSFORM(i)
ENDDO
s = SUBSTR(s,2)
? s + " = " + TRANSFORM(EVALUATE(s))

s=""
i=1
DO WHILE i<=10
    s = s + "+" + TRANSFORM(i)
    i = i+1
ENDDO
s = SUBSTR(s,2)
? s + " = " + TRANSFORM(EVALUATE(s))
2016-04-01 10:55
evaooa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-1
收藏
得分:0 
回复 2楼 sdta
故意调换了一下顺序,但我认为调换之后应该是5049,哪里理解错了呢。。。
2016-04-01 10:56
evaooa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-1
收藏
得分:0 
回复 4楼 吹水佬
从2开始加是加到101!!
2016-04-01 11:00
evaooa
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-1
收藏
得分:0 
回复 4楼 吹水佬
好厉害呀,谢谢
2016-04-01 11:01
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用evaooa在2016-4-1 11:00:39的发言:

从2开始加是加到101!!

1、用FOR循环
s=0
for i=1 to 100
    s=s+i
endfor
messagebox(tran(s))

2、用 DO WHILE
s=0
i=1
DO while(i<=100)
    s=s+i
    i=i+1
enddo
messagebox(tran(s))
3、也是用 DO WHILE
s=0
i=0
DO while(i<100)
    i=i+1
    s=s+i
enddo
messagebox(tran(s))
*注意,2和3的区别
2016-04-01 11:16
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
*!*    Sn = n * (n + 1) / 2  && 1 到 n 的自然数之和
n = 100
? n * (n + 1) / 2

*!*    Smn= (n + m)(n - m + 1) / 2  && m 到 n 的自然数之和
m =   1
n = 100
? (n + m) * (n - m + 1) / 2

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-01 13:09
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
你只在
i=i+1
后,加一个
? i
就可以看到原因了。

只求每天有一丁点儿的进步就可以了
2016-04-04 10:41
快速回复:请教大家,1-100的自然数求和程序里,如果先循环再累加求出的是什么啊 ...
数据加载中...
 
   



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

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