1樓:夢水紫靈
舉了例子:
乙個陣列:3,2,5,1,4從小到大排序
從左側開始,逐對比較
3>2,交換3,2的位置,陣列變為2,3,5,1,43<5,順序不變
5>1,交換5,1的位置,陣列變為2,3,1,5,45>4,交換5,4的位置,陣列變為2,3,1,4,5至此,陣列中最大的數被放在最右側了,接下來只要在前四個數中重複上述過程,就能把其中最大的數放在右側第二位。
這個過程就像冒泡泡,最大的氣泡冒上來,然後第二大的冒上來……。因此稱為氣泡排序法。
當然,排序順序、開始方向等都可以根據需要選擇,原理相同。
2樓:匿名使用者
冒泡法顧名思義就是將乙個數從下面浮上來,假設有5個數,21 56 87 6 9,
將第五個元素的值與第四個元素的值相比,如果第五個元素的值小於第四個元素的值,則交換著兩個元素的值。
接下來,將第四個元素的值與第三個元素的值進行比較,按照類似的方式,如果發現下面元素的值小於上面元素的值,則交換著兩個值。
將第三個元素的值與第二個元素的值比較,做同樣的工作。
在這一輪比較結束時,最小值將到達最上面,可以說最小值已經浮到最上面
第二輪,從最底部的元素開始比較,直到第二個元素,因為第乙個已經是最小,不需要再進行比較。
其實,就是乙個for迴圈,最外面的迴圈控制迴圈的次數,需要有n-1次迴圈
具體的code在這裡就不寫了
用冒泡法對10個整數排序,10個數用scanf函式輸入
3樓:匿名使用者
#include
#define n 10
int main()}}
for(i = 0;i < n;i ++)printf("%d ",num[i]);
printf("\n");
return 0;}
4樓:求小宸舒誠
冒泡法顧名思義
bai就是du將乙個數從下面zhi浮上來,假設有5個數,21568769,
將第dao五個版元素權的值與第四個元素的
值相比,如果第五個元素的值小於第四個元素的值,則交換著兩個元素的值。
接下來,將第四個元素的值與第三個元素的值進行比較,按照類似的方式,如果發現下面元素的值小於上面元素的值,則交換著兩個值。
將第三個元素的值與第二個元素的值比較,做同樣的工作。
在這一輪比較結束時,最小值將到達最上面,可以說最小值已經浮到最上面第二輪,從最底部的元素開始比較,直到第二個元素,因為第乙個已經是最小,不需要再進行比較。
其實,就是乙個for迴圈,最外面的迴圈控制迴圈的次數,需要有n-1次迴圈
具體的code在這裡就不寫了
c語言題目: 用冒泡法對任意輸入的10個整數由小到大的順序排序
5樓:智慧型小白菜
1、新建乙個工程和.c檔案。
2、定義變數型別。
3、用乙個for語句遍歷整個陣列。
4、引入乙個子函式,該子函式的作用是調整陣列元素的順序,使之由小到大排列。
5、最後通過for函式一次輸出調整後的陣列元素。
6、介紹一下子函式的實現語句,首先定義子函式。
7、定義變數型別。
8、該子函式實現順序的調整。
9、編譯,執行即可。
6樓:會飛的小兔子
#include
voidmain()
if(num==0)
printf("theintegersyouinput:\n");
for(i=0;i<=num;i++)
printf("\nmaopaopaixu\n");
for(i=0;i<=num;i++)
for(j=0;j<=num-1;j++)if(a[j]>a[j+1])
for(i=0;i<=num;i++)
printf("\nxuanzepaixu\n");
for(i=0;i<=num;i++)
for(j=i+1;j<=num;j++)if(a[i]>a[j])
for(i=0;i<=num;i++)
getch();
}擴充套件資料用「起泡法」,對輸入的10個字元由小到大排序。
#include
#include
intmain(void)
sort(a);//呼叫函式
return0;
}voidsort(chara[10])}}for(i=0;i<10;i++)}
7樓:
c語言程式:
#include
/* 氣泡排序,非遞減有序 */
void sort(int arr, int n)}}void main()
{int arr[10];
int i, n = 10;
printf("請輸入10個整數:");
for(i=0; i
執行測試:
請輸入10個整數:4 5 6 7 1 2 3 0 9 8排序後:
0 1 2 3 4 5 6 7 8 9
編寫乙個程式,要求從鍵盤輸入10個整數,然後採用氣泡排序法,按降序排序。 (用氣泡排序法啊)
8樓:
對不起啊!剛下線了~~
#include
main()
for(i=0;i<10;i++)
printf("%-3d",a[i]);}
9樓:草原上之狼
#include
main()
for(i=0;i<10;i++)
printf("%-3d",a[i]);}
10樓:匿名使用者
int main()
{int i,j,t,a[10];
printf("please input 10 integers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++) /* 冒泡法排序 */
for(j=0;j<10-i-1;j++)if(a[j]>a[j+1])
{t=a[j];/* 交換a[i]和a[j] */a[j]=a[j+1];
a[j+1]=t;
11樓:匿名使用者
#include
#include
intmain()
}arr[j] = '\0';
printf("%s\n", arr);
return 0;}
12樓:匿名使用者
#include
void main()
for(i=0;i<10;i++)
printf("%d\n",a[i]);}
13樓:芬fen呀
/* 用氣泡排序法對一維整型陣列中的十個數公升序排序 */#include
#include
int main()
printf("the sequence after sort is:\n");
for(i=0;i<10;i++)
printf("%-5d",a[i]);
printf("\n");
system("pause");
return 0;
} 第一題的 在氣泡排序搜的
C語言程式設計用冒泡法對10和整數排序從大到小
根據你的來要求,想程式設計如下 include define n 10 main int i,j,k int a n printf nplease input d datas n n n for i 0 i源序用冒泡bai 法對十個數從大du到小排列,這裡zhi你還可以根據自dao己的需要,隨時通過...
C語言題目 用冒泡法對任意輸入的整數由小到大的順序排
1 新建乙個工程和.c檔案。2 定義變數型別。3 用乙個for語句遍歷整個陣列。4 引入乙個子函式,該子函式的作用是調整陣列元素的順序,使之由小到大排列。5 最後通過for函式一次輸出調整後的陣列元素。6 介紹一下子函式的實現語句,首先定義子函式。7 定義變數型別。8 該子函式實現順序的調整。9 編...
c語言指標用選擇法對整數由大到小順序排序
k j沒問題,問題在別的地方 void inv int x,int n 這裡交換k,i指向版的值,不權是j指向的值 用選擇法對10 個整數按從小到大順序排序。c語言 include include void swap int a,int b void select sort int a,int n ...