我有一个家庭作业练习,要求一个找到最小3位阿姆斯特朗数字的脚本。
我写了我的剧本。查找这些数字效果很好,但是我不知道如何停在第一个阿姆斯特朗数字上。
这是我的代码
a=0;
b=0;
c=0;
for x1=1:1:9
a=x1^3;
for x2=0:1:9
b=x2^3;
for x3=0:1:9
c=x3^3;
d=(x1*100 + x2*10 + x3);
if (a+b+c) == (d)
disp(d)
end
end
end
end
它通常会打印153 370 371 407
。如果我使用break
之后,disp
它只会首先而不是全部退出,并打印出来153 370 407
。
您可以使用关键字停止循环break
。但是,这只会停止一个循环。您现在可以选择
break
)它(又名:正确方法)return
(又名:讨厌的方式)选项1
a = 0;
b = 0;
c = 0;
FLAG_STOP = false;
for x1 = 1:9
a = x1^3;
for x2 = 0:9
b = x2^3;
for x3 = 0:9
c = x3^3;
d = (x1*100 + x2*10 + x3);
if (a+b+c) == (d)
disp(d)
% set flag
FLAG_STOP = true;
break
end
end
if FLAG_STOP
break
end
end
if FLAG_STOP
break
end
end
选项2
警告:
(...)它不仅退出循环;它退出脚本或函数,并将控制权返回给调用程序或命令提示符。
也就是说,之后的所有语句return
都将被忽略-无论它们是否是循环的一部分
a = 0;
b = 0;
c = 0;
for x1 = 1:9
a = x1^3;
for x2 = 0:9
b = x2^3;
for x3 = 0:9
c = x3^3;
d = (x1*100 + x2*10 + x3);
if (a+b+c) == (d)
disp(d)
return % <<<<<<<<<<<<
end
end
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句