使用
while
循环查找整数N
到1
的总和大于N
的最小数999
这是我到目前为止所做的,已经工作了几个小时而且找不到任何东西。
sum=0;
while sum>999
sum=1+n
disp('sum is', sum)
disp('n=',n)
end
答案 0 :(得分:1)
您需要在sum_val > 999
时退出while循环。如果您查看退出条件并将其作为单词阅读,则可以看到您的问题:
while sum_val > 999
是“循环并执行循环语句,而sum的值大于大于999”。
由于你的总和从0开始,你永远不会进入你的循环,因为总和小于999.你想:
“循环并执行循环语句,而sum的值 小于999”
是:
while sum_val < 999
除此之外,您还没有定义计数器n
。你这样做:
sum_val=1+n
当你计算总和时,你需要确保你实际上正在总结正确的事情。什么是sum
,它是sum
的先前值,添加了当前值n
。那样做:
sum_val = sum_val + n
同样是什么n
?就像在问题陈述中一样,n
从1到N
(最终目标)。因此,您需要确保更新(并设置)。
n = 1
...
n = n+1
最后,sum是一个函数名,所以你不能使用它。使用其他内容,例如上面显示的sum_val
。
您需要在代码中找出应该去的位置。