冒泡排序法的改进解决思路

冒泡排序法的改进
若给出10个数字,分别为34 66 90 45 100 150 65 92 27 74,用冒泡排序法后可得到正确排序,但其中有些不需要比较,可以直接跳过,该如何处理,希望大神指教!谢谢!
# include<stdio.h>
int main()
  {
    int a[10];
    int i,j,t;
    printf("input 10 number:\n");
    for(i=0;i<10;i++);
       scanf("%d",&a[i]);
    printf("\n");
    for(j=0;j<9;j++)
     for(j=0;j<9-j;i++)
      if(a[i]>a[i+1])
        {t=a[i];a[i];=a[i+1];a[i+1]=t;}
    printf(“the sorted number:\n”);
    for(i=0;i<10;i++)
       printf(“%d”,a[i]);
    printf(“\n”);
  return 0;
}

   }
c语言

------解决方案--------------------

#include <stdio.h>

int main(void)
{
    int arr[9];
    int temp, i, j;
    int swapped = 1;

// 初始化 
    for (i = 0; i <= 9; i++)
        arr[i] = 9 - i;

// 排序前 
    printf("Before Sort: ");
    for (i = 0; i <= 9; i++)
        printf("%d ", arr[i]);

// 冒泡排序 
    for (i = 0; swapped; i++) {
        swapped = 0;
        for (j = 0; j < 9 - i; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                swapped = 1;
            }
        }
    }

// 排序后 
    printf("\n After Sort: ");
    for (i = 0; i <= 9; i++)
        printf("%d ", arr[i]);
    printf("\n");
    
    return 0;
}

Before Sort: 9 8 7 6 5 4 3 2 1 0
 After Sort: 0 1 2 3 4 5 6 7 8 9

------解决方案--------------------
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void better_bubble_sort(int *D, int n) {
    int b,i,m,t;

    b=n-1;
    while (b) {
        m=0;
        for (i=0;i<b;i++) {
            if (D[i]>D[i+1]) {t=D[i];D[i]=D[i+1];D[i+1]=t;m=i;}
        }
        b=m;
    }
}
int main() {
    int d[10],n,i;

    srand(time(NULL));
    for (n=0;n<10;n++) {
        printf("------%d------\n",n);
        for (i=0;i<n;i++) {d[i]=rand()%100;printf(" %02d",d[i]);}
        printf("\n");
        better_bubble_sort(d,n);
        printf("sorted:\n",n);
        for (i=0;i<n;i++) {               ;printf(" %02d",d[i]);}
        printf("\n");
    }
}
//------0------
//
//sorted:
//
//------1------
// 87
//sorted:
// 87
//------2------