咋一看是冒泡
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10001];
int n,cnt=0;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n-1;i++)
for(int j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
int m;
m=a[j];
a[j]=a[j+1];
a[j+1]=m;
cnt++;
}
}
cout<<cnt<<endl;
system("pause");
}
后来想一想
不用冒泡也可以直接做
只要算每一个数前面有几个比它大就行
#include <iostream>
using namespace std;
int n, sum;
int main()
{
cin >> n;
int a[n];
for (int i = 0; i < n; ++i)
cin >> a[i];
for (int i = 0; i < n; ++i)
for (int j = 0; j < i; ++j)
if (a[j] > a[i])
++sum;
cout << sum;
return 0;
}