主题:小问题一个
newonesky
[专家分:0] 发布于 2005-06-18 13:33:00
问题:一个三位数其各位数字的立方和刚好等于它本身
程序如下:for a=1 to 9
for b=0 to 9
for c=0 to 9
x=a^3+b^3+c^3
y=100*a+10*b+c
if x=y then print y
next c
next b
next a
end
为什么next后面的a,b,c顺序不能调换,请解释一下
回复列表 (共11个回复)
沙发
FancyMouse [专家分:13680] 发布于 2005-06-18 13:43:00
循环好好学吧
这样子写你或许能明白:
for a=1 to 9
for b=0 to 9
for c=0 to 9
x=a^3+b^3+c^3
y=100*a+10*b+c
if x=y then print y
next c
next b
next a
end
板凳
newonesky [专家分:0] 发布于 2005-06-18 13:52:00
我想问为什么next后面的a,b,c顺序不能调换,请解释一下
3 楼
QB71 [专家分:1300] 发布于 2005-06-18 14:09:00
这是循环嵌套的问题,你去看一下QB的教程就明白了
写成这样子你就不用再去烦a,b,c调换位置的问题了
for a=1 to 9
for b=0 to 9
for c=0 to 9
x=a^3+b^3+c^3
y=100*a+10*b+c
if x=y then print y
next
next
next
把 NEXT 后面的字母都去掉
4 楼
陈贺QB [专家分:140] 发布于 2005-06-18 14:10:00
朋友你好
在QB中规定FOR语句必须与NEXT语句成对出现
例如你举的例子 可分为 内循环、中循环、外循环三对
所以每对必须成对出现/
5 楼
def [专家分:3380] 发布于 2005-06-18 18:55:00
for a=1 to 9
for b=0 to 9
for c=0 to 9
x=a^3+b^3+c^3
y=100*a+10*b+c
if x=y then print y;
next a,b,c
6 楼
prairiewolf [专家分:290] 发布于 2005-06-23 02:21:00
你想一下,如果c,b,a换成a,b,c,那会怎么样?
循环的结果是
第一次 x=3 y=100
第二次 x=6 y=200
.
.
.
.
这样下去你得不到结果
7 楼
moz [专家分:37620] 发布于 2005-06-24 10:42:00
想一下?
能换???
8 楼
困难 [专家分:50] 发布于 2005-06-24 18:47:00
我不知道这样说是不是容易理解!QB是按顺序执行的一种程序,他在执行完一个循环就会去检测是不是该NEXT了 如果 先结束A 那么以后的循环就不执行了!! A B C 的结束顺序错了 结果自然就会错了 所以不可以换!!! 不知道你可不可以明白!!!
9 楼
moz [专家分:37620] 发布于 2005-06-25 01:20:00
不可以换,理由很简单,
你可以坎套使用for,但无法交叉使用.
一个for语句体中,
for语句一直运行到next就又回到for开始的地方重新判断循环,
但for c找到next a,都不知道回哪里去才好,就不配对了.
10 楼
prairiewolf [专家分:290] 发布于 2005-06-29 20:29:00
噢,原来是不能换的啊
我来回复