用C語言實現氣泡排序
阿新 • • 發佈:2018-12-12
#include <stdio.h> #define MAX 11 int main(int argc, const char *argv[]) { int a[MAX] = {0}; int i, j, t; char ch; /*輸入資料*/ printf("Please input %d number:\n",MAX); for(i = 0; i < MAX;){ scanf("%d", &a[i++]); if(((ch = getchar()) == '\n') && i >= MAX) break; } /*輸出資料*/ printf("OUtput :\n"); for(i = 0; i < MAX; i++){ printf("%d ",a[i]); } puts("\n"); /*資料排序*/ for (i = 0; i < MAX-1; i++){ for(j = 0; j < MAX-1-i; j++){ if(a[j] > a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } /*輸出排序後的資料*/ printf("paixu Output:\n"); for(i = 0; i < MAX; i++) printf("%d ", a[i]); puts(" "); return 0; }
隨機輸入N個數據(亂序),進行排序輸出
#include <stdio.h> int main(int argc, const char *argv[]) { int a[100] = {0}; int i, j, t; int n = 0; char ch; printf("Please input <100 number:\n"); for(n = 0; n <=100;){ scanf("%d", &a[n++]); if(((ch = getchar()) == '\n') || n > 100) break; } //printf("a[n] len ==>n = %d \n",n); printf("OUtput :\n"); for(i = 0; i < n; i++) printf("%d ",a[i]); puts("\n"); for (i = 0; i < n-1; i++){ for(j = 0; j < n-1-i; j++){ if(a[j] > a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } printf("paixu Output:\n"); for(i = 0; i < n; i++) printf("%d ", a[i]); puts(" "); return 0; }
輸出結果