| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1137 人关注过本帖
标题:请教一个简单问题
只看楼主 加入收藏
yusfreedo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-8-9
收藏
 问题点数:0 回复次数:8 
请教一个简单问题
我用For循环和While循环分别编了2个求100以内奇数立方根和的过程,代码如下:
*100以内奇数立方根之和求法
SET TALK OFF
CLEAR
s=0
FOR i=1 TO 100
j=i^(1/3)
s=s+j
i=i+2
ENDFOR
?'100以内奇数立方根之和为:',s,'最大奇数为:',i-2
SET TALK ON
RETURN

*100以内奇数立方根之和求法
SET TALK OFF
CLEAR
s=0
i=1
DO WHILE i<100
  j=i^(1/3)
  s=s+j
  i=i+2
  ENDDO
  ?'100以内奇数立方根之和为:',s,'最大奇数为:',i-2
  SET TALK ON
  RETURN
  
  我运行了一下,2个过程的计算结果是不一致的。做了一个简单试验,好像用While循环做的是正确的。可是我找不出For循环的错误所在。请教各位,错在哪里?
搜索更多相关主题的帖子: 简单问题 
2008-09-03 08:13
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
I 多加了1,因为for循环还要加1
SET TALK OFF
CLEAR
s=0
FOR i=1 TO 100
j=i^(1/3)
s=s+j
i=i+1  
ENDFOR
?'100以内奇数立方根之和为:',s,'最大奇数为:',i-2
SET TALK ON
2008-09-03 09:12
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
第一个程序,取消i=i+2,修改循环开始语句为for i=1 to 100 step 2

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-09-03 11:00
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
在FOR循环中,以修改循环变量的方式来写程序,非常容易出错。楼上说的非常正确。
2008-09-03 11:10
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
补充说明:I 多加了1,因为for循环还要加1
循环中得出的I=1,4,7……  而不是1,3,5……
改为i=i+1  &&(加上for循环加的1,实际i=2,结果就会一样了)
2008-09-03 18:49
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
for ……Endfor默认步长(step)为1,而不是你设定有I=I+2.出现这样的问题,主要是搂猪对For……Endfor循环缺乏了解。

两人行已有我师……
2008-09-03 21:22
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
我想版主是无意敲出了同音错字了。
不论发帖者提的问题有多么简单幼稚、或令人不解,只要他不是有意捣乱,可以不理他,但不应鄙视他。
这样才会有更多的初学者和老师、VF高手参与,网站的人气才会旺。
楼主提出的问题,本来已经讨论明了,但版主的回帖中的一句“楼猪”似乎使热烈的讨论有所变味……
但愿版主确实敲错字了……
2008-09-04 18:56
szy345
Rank: 4
来 自:江苏——南京
等 级:贵宾
威 望:14
帖 子:336
专家分:14
注 册:2008-8-6
收藏
得分:0 
应该是无意之举!
2008-09-04 20:30
yusfreedo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-8-9
收藏
得分:0 
  感谢这么多人关注这个小问题。我后来看了一下帮助,改用step 2,问题就解决了。
  但是,有这么多人回复,我感觉真的很好,来这里没白来。有这么多人一起来学习研究,相信对各位都有裨益。有问题我会经常来请教的,感谢各位。
2008-09-10 08:58
快速回复:请教一个简单问题
数据加载中...
 
   



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

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