问:
#include <bits/stdc++.h>
using namespace std;
int a[2005];
int main()
{
int n, t, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int j = 1; j < n; j++)
{
int k = j;
for (int i = j + 1; i <= n; i++)
{
if (a[i] > a[k])
{
if (k!= j)
{
k = i;
t = a[j];
a[j] = a[k];
a[k] = t;
sum++;
}
}
}
}
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
cout << sum << endl;
return 0;
}
4. 当输入 10 个数(n = 10),接下来输入的数为 1 到 10 的排列,输出结果 sum 等于 2,则输入的数据可能有多少种不同的排列顺序:(D)
A. 240
B. 630
C. 720
D. 870
求思路&解析