天天看點

冒泡排序前言

**

冒泡排序

**

前言

好久沒寫部落格了,雖說冒泡排序很基礎,但還是要一點點的來…

題目

任務描述

本關任務:将十個數進行從大到小的順序進行排列。

相關知識(略)

程式設計要求

根據提示,在右側編輯器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循環

繼續閱讀