不是VIP会员,不能显示答案

题目解答

题目:
#include <cstdio>

using namespace std;

int n;

int a[100];



int main() {

scanf("%d", &n);

for (int i = 1; i <= n; ++i)

scanf("%d", &a[i]);

int ans = 1;

for (int i = 1; i <= n; ++i) {

if (i > 1 && a[i] < a[i - 1])

ans = i;

while (ans < n && a[i] >= a[ans + 1])

++ans;

printf("%d\n", ans);

}

return 0;

}


判断题

1) (1分)第16行输出ans时,ans的值一定大于i。()

2) (1分)程序输出的ans小于等于n。()

3) 若将第12行的“<”改为“!=”,程序输出的结果不会改变。()

4) 当程序执行到第16行时,若ans - i> 2,则a[i + 1] < a[i]。 ()


选择题

5) (3分)若输入的a数组是一个严格单调递增的数列, 此程序的时间复杂度()

6) 最坏情况下,此程序的时间复杂度是()。
考点:
分析:
解答:
评论:
老师: