6 回答

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
#include <stdio.h> #include <conio.h> #define LEN 100 /*數(shù)組長(zhǎng)度上限*/ #define elemType int /*元素類型*/ /*升序冒泡排序*/ /*參數(shù)說(shuō)明:*/ /*int arr[]:排序目標(biāo)數(shù)組*/ /*int len:元素個(gè)數(shù)*/ void bubbleSortAsc (elemType arr[], int len) { elemType temp; int i, j; for (i=0; i<len-1; i++) /*外循環(huán)控制排序趟數(shù),len-1個(gè)數(shù)進(jìn)行l(wèi)en-1趟*/ for (j=0;j<len-1-i; j++) { /*內(nèi)循環(huán)每趟比較的次數(shù),第j趟比較len-j次*/ if (arr[j] > arr[j+1]) { /*相鄰元素比較,逆序則交換*/ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } /*打印數(shù)組*/ void printArr (elemType arr[], int len) { int i; for (i=0; i<len; i++) printf ( "%d\t" ,arr[i]); putchar ( '\n' ); } int main ( void ) { elemType arr[LEN] = {3,5,1,7,4,9,6,8,10,4}; int len; len = 10; puts ( "初始數(shù)組:" ); printArr (arr,len); putchar ( '\n' ); bubbleSortAsc (arr, len); /*升序冒泡排序*/ printArr (arr,len); putchar ( '\n' ); getch (); /*屏幕暫留*/ return 0; } |
運(yùn)行結(jié)果

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | //希望我的回答對(duì)你的學(xué)習(xí)有幫助 #include <stdio.h>
#define N 3 //定義數(shù)組的大小,表示數(shù)組中可以放的個(gè)數(shù)
void Sort(int IntArray[N]) //冒泡算法 { for (int i = 0; i < N - 1; i++) { for (int j = 0; j < N - i - 1; j++) { int temp; if (IntArray[j] > IntArray[j + 1]) { temp = IntArray[j]; IntArray[j] = IntArray[j + 1]; IntArray[j + 1] = temp; } } } }
int main() { int IntArray_T[N] = {};
for (int i = 0; i < N; i++) //輸入 { scanf("%d", &IntArray_T[i]); }
Sort(IntArray_T);
for (int i = 0; i < N; i++) //輸出 { printf("%4d", IntArray_T[i]); }
return 0; } |

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h>
void sort(int a[], int n) {//選擇排序 int i,j,k,t; for(i = 0; i < n - 1; ++i) { k = i; for(j = k + 1; j < n; ++j) { if(a[k] > a[j]) k = j; } if(k != i) { t = a[i]; a[i] = a[k]; a[k] = t; } } }
int main() { int a[] = {21,16,30,21,8,19,33,26,28,27,24,50,13,12}; int i,n = sizeof(a)/sizeof(a[0]); printf("排序前:\n"); for(i = 0; i < n; ++i) printf("%d ",a[i]); printf("\n"); sort(a,n); printf("排序后:\n"); for(i = 0; i < n; ++i) printf("%d ",a[i]); printf("\n"); return 0; } |

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
#include <stdio.h>
void sort(int a[],int n)//選擇排序
{
int i,j,t,temp;
for(i=0;i<n-1;i++)
{
t=i;
for(j=i+1;j<n;j++)
{
if(a[t]>a[j])
{
t=j;
}
}
if(t!=i)
{
temp = a[i];
a[i] = a[t];
a[t] = temp;
}
}
}
void main()
{
int a[4];
int i;
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
sort(a,4);
for(i=0;i<4;i++)
{
printf("%d ",a[i]);
}
}
添加回答
舉報(bào)