回覆列表
  • 1 # 你的小心幹

    #include <stdio.h>int main(){ int n; // 數字個數 printf("number count: "); scanf("%d", &n); int *p = (int *)malloc(n*sizeof(int)); // 分配陣列空間 for(int i=0;i<n;i++){ // 挨個輸入數字 printf("number %d: ", i+1); scanf("%d", p+i); } for(int i=0;i<n;i++) // 輸出排序前陣列 printf("%d ", p[i]); printf("\n"); for(int i=0;i<n-1;i++){ // 選擇排序 int min = i; for(int j=i+1;j<n;j++) // 找到最小的 if(p[j]<p[min]) min = j; int tmp = p[i]; // 交換 p[i] = p[min]; p[min] = tmp; for(int i=0;i<n;i++) // 輸出排序的步驟 printf("%d ", p[i]); printf("\n"); } return 0;}

    輸入輸出:number count: 5↙number 1: 6↙number 2: 12↙number 3: 5↙number 4: 97↙number 5: 1↙6 12 5 97 11 12 5 97 61 5 12 97 61 5 6 97 121 5 6 12 97

  • 中秋節和大豐收的關聯?
  • 北斗/GPS定位產品如何進行市場推廣?