#CS40308. 阅读程序3-枚举算法8
阅读程序3-枚举算法8
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第3节:枚举算法
第8题【NOIP】2012
#include <iostream>
using namespace std;
int n, i, temp, sum, a[100];
int main() {
cin >> n;
for (i = 1; i <= n; i++)
cin >> a[i];
for (i = 1; i <= n - 1; i++)
if (a[i] > a[i + 1]) {
10 temp = a[i];
11 a[i] = a[i + 1];
12 a[i + 1] = temp;
}
14 for (i = n; i >= 2; i--)
15 if (a[i] < a[i - 1]) {
16 temp = a[i];
17 a[i] = a[i - 1];
18 a[i - 1] = temp;
19 }
sum = 0;
for (i = 2; i <= n - 1; i++)
sum + = a[i];
cout << sum / (n - 2) << endl;
return 0;
}
●判断题 (1)输入的n小于100,否则可能会出现运行时错误。
{{ select(8-1) }}
- 对
- 错
(2)第10行到第12行实现了交换的功能。
{{ select(8-2) }}
- 对
- 错
(3)把sum的数据类型改为double,程序运行结果不会改变。
{{ select(8-3) }}
- 对
- 错
(4)当n为2时,程序可以正常运行。
{{ select(8-4) }}
- 对
- 错
●选择题 (5)程序的时间复杂度为( )。
{{ select(8-5) }}
- O(1)
- O(nlogn)
- O(n)
- O(n²)
(6)14~19行的代码段功能为( )。
{{ select(8-6) }}
- 排序整个序列
- 把序列中的最小值放到序列开头
- 把序列中的最小值放到序列末尾
- 把序列中的最大值放到序列末尾
相关
在以下作业中: