原题传送门
思路:水题,用冒泡排序加个记录交换次数即可
代码参考
#include <iostream>
using namespace std;
int main()
{
int n,num=0,a[10000];
cin>>n;
for(int i = 0;i < n;i++)
cin>>a[i];
//比较n-1趟
for(int i= 1;i <= n-1;i++){
for(int j = 0;j < n - i;j++)
//如果左边的数较大,则交换位置
if(a[j] > a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
num++;
}
}
cout<<num<<endl;
return 0;
}