#10713. 枚举算法第八题(NOIP2012)

枚举算法第八题(NOIP2012)

第八题(NOIP2012)

#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]) {
            temp = a[i];
            a[i] = a[i + 1];
            a[i + 1] = temp;
        }
    for (i = n; i >= 2; i--)
        if (a[i] < a[i - 1]) {
            temp = a[i];
            a[i] = a[i - 1];
            a[i - 1] = temp;
        }
    sum = 0;
    for (i = 2; i <= n - 1; i++)
        sum += a[i];
    cout << sum / (n - 2) << endl;
    return 0;
}
  1. 【判断题】输入的n小于100,否则可能会出现运行时错误。 {{ select(1) }}
  • 正确
  • 错误
  1. 【判断题】第10行到第12行实现了交换的功能。 {{ select(2) }}
  • 正确
  • 错误
  1. 【判断题】把sum的数据类型改为double,程序运行结果不会改变。 {{ select(3) }}
  • 正确
  • 错误
  1. 【判断题】当n为2时,程序可以正常运行。 {{ select(4) }}
  • 正确
  • 错误
  1. 【选择题】程序的时间复杂度为( )。 {{ select(5) }}
  • O(1)
  • O(nlogn)
  • O(n)
  • O(n²)
  1. 【选择题】14~19行的代码段功能为( )。 {{ select(6) }}
  • 排序整个序列
  • 把序列中的最小值放到序列开头
  • 把序列中的最小值放到序列末尾
  • 把序列中的最大值放到序列末尾