#include <iostream>
using namespace std;
int main()
{
int a[10001], n, count = 0, temp;
cin >> n;
for (int k = 1; k <= n; k++)
{
cin >> a[k];
}
for (int i = 1; i <= n - 1; i++)
{
for (int j = 1; j <= n - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp;
count++;
}
}
}
cout << count;
return 0;
}
应该是你冒泡排序的循环条件写错了,
冒泡排序直接搞定
不用那么麻烦
#include<iostream>
using namespace std;
int main()
{
int b=0;
int N;
cin>>N;
int a[10000];
for(int i=0;i<N;i++)
{
cin>>a[i];
}
for(int i=0;i<N;i++)
{
for(int j=i+1;j<N;j++)
{
if(a[j]<a[i])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
b+=1;
}
}
}
cout<<b;
return 0;
}