查看: 678|回复: 3|关注: 0

[已解决] 如何跳出循环?

[复制链接]

新手

14 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
程序执行到最后两个元素10,1后,由于没有触发条件陷入无限循环,如何跳出?
  1. clear
  2. clc
  3. R=[1 2 3 4 5 6 7 8 9 10 1];
  4. th=15;
  5. x=0;
  6. Result=[];
  7. start=1;
  8. len=1;
  9. while len<=length(R)
  10.     for k=start:length(R)
  11.         x=x+R(k);
  12.         if (x(1,1)>th)
  13.             Result=[Result;x-R(k)];
  14.             x=0;
  15.             start=k;
  16.             break;
  17.         end
  18.     end
  19.     if start+1>length(R)
  20.         break;
  21.     end
  22. end
复制代码

求大神赐教,不胜感激

论坛优秀回答者

权威

8255 麦片

财富积分



6

主题

9645

帖子

1862

最佳答案
  • 关注者: 428
发表于 2018-5-16 17:59:53 | 显示全部楼层 |此回复为最佳答案
在最后一个end前一行加一句:len=len+1;

新手

14 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-5-16 18:01:31 | 显示全部楼层
jingzhaos 发表于 2018-5-16 17:59
在最后一个end前一行加一句:len=len+1;

循环卡在最内层的for里了,无限执行10+1。

新手

14 麦片

财富积分


050


2

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-5-16 18:11:46 | 显示全部楼层
jingzhaos 发表于 2018-5-16 17:59
在最后一个end前一行加一句:len=len+1;

感谢大神,除了上述问题len的上限我还得改改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表