6 回答
TA貢獻1735條經驗 獲得超5個贊
#include <stdio.h>#include <conio.h> #define LEN 100 /*數組長度上限*/#define elemType int /*元素類型*/ /*升序冒泡排序*//*參數說明:*//*int arr[]:排序目標數組*//*int len:元素個數*/void bubbleSortAsc (elemType arr[], int len) { elemType temp; int i, j; for (i=0; i<len-1; i++) /*外循環控制排序趟數,len-1個數進行len-1趟*/ for (j=0;j<len-1-i; j++) { /*內循環每趟比較的次數,第j趟比較len-j次*/ if (arr[j] > arr[j+1]) { /*相鄰元素比較,逆序則交換*/ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } }} /*打印數組*/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 ("初始數組:"); printArr (arr,len); putchar ('\n'); bubbleSortAsc (arr, len); /*升序冒泡排序*/ printArr (arr,len); putchar ('\n'); getch (); /*屏幕暫留*/ return 0;} |
運行結果
TA貢獻1890條經驗 獲得超9個贊
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 | //希望我的回答對你的學習有幫助 #include <stdio.h>
#define N 3 //定義數組的大小,表示數組中可以放的個數
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貢獻1801條經驗 獲得超8個贊
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貢獻1854條經驗 獲得超8個贊
#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]);
}
}
添加回答
舉報

