| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1017 人关注过本帖
标题:请教条件不符返回上一级循环代码
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:20 回复次数:10 
请教条件不符返回上一级循环代码
a=0
for i=1 to 100
for j=1 to 200
a=i*i+j*j-301*ij
if a>=0
    '当a=i*i+j*j-301*ij计算的结果<0时,循环返回到j再增加1,直至符合条件a>0才在立即窗口中显示并继续循环,请问在这行(或这行的注释符前面)要加个怎样的代码,谢谢(我加了个loop电脑提示出错)

else
endif
debug.print "a=";a
next j
next i
2015-05-15 08:46
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
for i=1 to 100
  for j=1 to 200
    a=i*i+j*j-301*i*j
    if a>0 then debug.print "a=" & a
  next
next

现在问题是在i,j的取值范围内没有能满足a>0的

大开眼界
2015-05-15 09:14
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
先生不好意思,等式是a=i*i+j*j-301*j
2015-05-15 09:26
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 3楼 fdxxhjc
那就直接把a的表达式修改了就行了

大开眼界
2015-05-15 09:38
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
以下是引用fdxxhjc在2015-5-15 08:46:55的发言:

a=0
for i=1 to 100
for j=1 to 200
a=i*i+j*j-301*ij
if a>=0
    '当a=i*i+j*j-301*ij计算的结果<0时,循环返回到j再增加1,直至符合条件a>0才在立即窗口中显示并继续循环,请问在这行(或这行的注释符前面)要加个怎样的代码,谢谢(我加了个loop电脑提示出错)

else
endif
debug.print "a=";a
next j
next i
啊,对不起,我的第五行代码应该是:if a<0,其他与原问题一样,请教在注释行前应添加怎样的代码,谢谢
2015-05-15 09:47
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
a=0
for i=1 to 100
for j=1 to 200
a=i*i+j*j-301*ij
if a>=0 then debug.print "a=";a  '这不就结了
next j
next i

能编个毛线衣吗?
2015-05-15 09:51
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 

for i=1 to 100
  for j=1 to 200
    a=i*i+j*j-301*i
    if a<0 then debug.print "a=" & a
  next
next
不管a是否小于0,都要执行next j ,否则代码就无法执行.区别只是在于a<0时,要打印.

大开眼界
2015-05-15 09:54
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
a=0
for i=1 to 1000
for j=1 to 2000
a=8888888*i*j-i*i-j*j
if a>0
    '当a=i*i+j*j-301*ij计算的结果<0时,循环返回到j再增加1,直至符合条件a>0才在立即窗口中显示并继续循环,请问在这行(或这行的注释符前面)要加个怎样的代码,谢谢(我加了个loop电脑提示出错)
    '假如这里有很多很复杂的关于i、j的计算关系式
    '在这里有个“if a>0”条件的话,可以少很多计算量,或在这里要将计算的结果写入DBF文件时,若没有这个“if a>0”限止条件,全部写入到DBF文件会使该文件空间很大,所以这里想设置这个“不符合条件返回循环”的代码,谢谢
else
endif
  '打开DBF表
     'FF1rs1.AddNew
     ,将计算结果写入DBF表
  'FF1rs1.Update
next j
next i
2015-05-15 10:31
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
楼上的不是回答了吗?

a=0
for i=1 to 1000
for j=1 to 2000
a=8888888*i*j-i*i-j*j
if a>0
   '继续其他运算
   '打开DBF表
     'FF1rs1.AddNew
     ,将计算结果写入DBF表
  'FF1rs1.Update
else
  '这里不动作
endif
next j
next i

授人于鱼,不如授人于渔
早已停用QQ了
2015-05-15 10:39
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
以下是引用风吹过b在2015-5-15 10:39:43的发言:

楼上的不是回答了吗?
 
a=0
for i=1 to 1000
for j=1 to 2000
a=8888888*i*j-i*i-j*j
if a>0
   '继续其他运算
   '打开DBF表
     'FF1rs1.AddNew
     ,将计算结果写入DBF表
  'FF1rs1.Update
else
  '这里不动作
endif
next j
next i
哦,我的要求是想当a>0时不执行中间的计算更不写入到DBF,立即返回到下一个j(甚至返回到下一个i),直到a<=0时才进行计算并写入到DBF,如何添加代码来实现,谢谢先生
2015-05-15 10:54
快速回复:请教条件不符返回上一级循环代码
数据加载中...
 
   



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

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