**
冒泡排序
**
前言
好久沒寫部落格了,雖說冒泡排序很基礎,但還是要一點點的來…
題目
任務描述
本關任務:将十個數進行從大到小的順序進行排列。
相關知識(略)
程式設計要求
根據提示,在右側編輯器Begin-End處補充代碼。
輸入
輸入十個整數。
輸出
以從大到小的順序輸出這個十個數。
測試說明
樣例輸入:
1 2 3 4 5 6 7 8 9 10
樣例輸出:
10 9 8 7 6 5 4 3 2 1
代碼
#include<stdio.h>
int main(void)
{
int i,j,n,a[15];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);//輸入數組
}
for(i=0;i<9;i++)//可以了解為10個位置,9個循環是固定9個位置,剩餘的1個位置也就固定了
for(j=0;j<9-i;j++)//因為有i個數比較過了,是以在每個循環中比較9-i次
{
if(a[j]<a[j+1])//小循環裡不能出現i,i的意義是循環次數,j才是内部的互相比較
{
n=a[j];
a[j]=a[j+1];
a[j+1]=n;
}
}
for(i=0;i<10;i++)//該循環不屬于上述循環,隻是單純為了輸出,能表示下标就行,叫阿貓阿狗都行~~doge~~
{
printf("%d ",a[i]);
}
return 0;
}
注釋
for循環嵌套裡的第一個for是總共有幾個大的循環,第二個是在對應大循環裡數與數的比較次數,也就是說真正的比較在于第二個for循環