模拟卷一数组阅读与完善程序

阅读程序,回答问题(逆序对计数)。

阅读与完善程序 阅读2 · CSP-S 提高级 初赛 模拟试卷(一)
#include <iostream>
using namespace std;
int main() {
    int a[] = {5, 2, 8, 1, 9, 3};
    int n = 6, cnt = 0;
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
            if (a[i] > a[j]) cnt++;
    cout << cnt << endl;
    return 0;
}
  • (1) 程序输出结果是______。(4 分)
  • (2) 该程序实际统计的是数组中的______(填"逆序对"或"顺序对")个数。(4 分)
  • (3) 若数组已按从小到大排好序,该程序输出______。(5 分)
答案解析
(1)逆序对逐对计数:对 (5,2)(5,1)(5,3)=3,(2,1)=1,(8,1)(8,3)=2,(9,3)=1,合计 7。(2)逆序对。(3)已升序则不存在 a[i]>a[j],输出 0。

本题收录于「CSP-S 提高级 初赛 模拟试卷(一)」,共 25 道题,全部提供答案与解析。可进入在线练习系统按知识点随机组卷、自动批改并归集错题。

进入在线练习 查看完整试卷 本类全部题目