题目大意:
给一组数字,每次只能交换相邻数字,问最少几次交换可以排好序
解题思路:
题目条件比较宽松。类似于冒泡排序的过程,进行交换就可以了
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int c;
int cnt;
int i,j;
int n[1200];
int count=0;
int num;
int k;
scanf("%d",&c);
while(c--)
{
count++;
num=0;
scanf("%d",&cnt);
for(i=1;i<=cnt;i++)
scanf("%d",&n[i]);
for(i=cnt;i>=1;i--)
{
for(j=1;j<=i-1;j++)
{
if(n[j]>n[j+1])
{
k=n[j];n[j]=n[j+1];n[j+1]=k;
num++;
}
}
}
printf("Scenario #%d:\n%d\n\n",count,num);
}
return 0;
}