DN. 阅读程序题-6000
阅读程序题-6000
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
int maxCnt = 1;
int cnt = 1;
for (int i = 2; i <= n; i++) {
if (a[i] == a[i - 1]) {
cnt++;
} else {
// (1)
cnt = 1;
}
maxCnt = max(maxCnt, cnt);
}
cout << maxCnt;
return 0;
}
判断题
- 若输入
5 1 1 2 2 2,则输出 3 {{ select(1) }}
- 对
- 错
- 程序的功能是求最长连续上升子段的长度 {{ select(2) }}
- 对
- 错
- 将
maxCnt = max(maxCnt, cnt);移动到else分支的 (1) 位置(只在那一个位置更新),程序依然正确 {{ select(3) }}
- 对
- 错
选择题
- 若输入
4 3 3 3 3,则输出 {{ select(4) }}
- 1
- 2
- 3
- 4
- 以下修改中,不影响程序正确功能的是 {{ select(5) }}
- 将
maxCnt初始值改为 0 - 将
cnt初始值改为 0 - 将
for循环的i=2改为i=1,同时删除循环内的a[i]==a[i-1]判断 - 将数组下标从 0 开始存储,并将循环改为
i=1开始
- 当输入的 n=1 时,程序的输出是 {{ select(6) }}
- 0
- 1
- 不确定(依赖输入值)
- 编译错误
答案:
- 对
- 错
- 错
- D
- D
- B