C语言请问第11小题我错在哪,该怎么改?

 我来答
左思雁Pk
2020-07-10 · TA获得超过765个赞
知道小有建树答主
回答量:350
采纳率:75%
帮助的人:291万
展开全部

有几个问题:

1、n如果表示预设的终止条件的话,那么在循环里面不应该对n赋值。

2、for循环到49,int会发生越界错误,会变成负数。且每次n = a[i],所以while里面a[i] <= n永远满足,且n到50后越界变成负数,n < 10000同样满足,所以会形成死循环。

3、修改:

    第一种是for循环里面,不要对n赋值,加个条件,遇到a[i] >= n,break;随后输出i;不要外层的while。

    第二种如下,空间复杂度为o(1)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式