c語言山迪的麻煩

山迪的麻煩

Time Limit: 3000ms, Memory Limit: 10000KB , Accepted: 3462, Total Submissions: 5649

Description

山迪要出席一個週末表演晚會,他在會上要表演卡片魔術。他有n(0<n≤100)張卡片,每張卡片上都標明瞭1~1000之間的某個數字,這n張卡片本來是有序的,可是山迪的助手不小心把卡片打亂了。這可急壞了山迪,忙令助手迅速通過一些操作把這些卡片變回有序的,而山迪的助手是個思想簡單的人,他能做的操作只有一種:交換任意兩張卡片的位置。
現在,山迪想知道助手最少交換幾次可以達到目的,以便儘快決定是否替換這個魔術表演,聰明的你能幫助他麼?

Input

第1行是一個正整數n,第2行n個是打亂順序後、每張卡片上的數字。

Output

輸出所需要的最少交換次數

  • Sample Input 
    5
    1 4 7 8 3
  • Sample Output

    3

#include<stdio.h>
int main()
{
int n,i,j,k=0,t,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
k++;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
   }
}
}
printf("%d",k);
return 0;
}


發佈了52 篇原創文章 · 獲贊 23 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章