微信图片_20210412150411.png

    1. #include<stdio.h>
    2. void printarry(int a[], int length, int n);
    3. void printarrydetil(int a[], int length, int d);
    4. void printarry(int a[], int length,int n) {
    5. if (n)
    6. printf("经过排序的数:\t");
    7. else
    8. printf("未经过排序的数:\t");
    9. for (int i = 0; i < length-1; i++)
    10. {
    11. printf("%d\t",a[i]);
    12. }
    13. printf("\n");
    14. }
    15. void printarrydetil(int a[], int length, int d) {
    16. printf("经过第%d轮冒泡排序的数:",d + 1);
    17. for (int i = 0; i < length - 1; i++)
    18. {
    19. printf("%d\t", a[i]);
    20. }
    21. printf("\n");
    22. }
    23. int main(void) {
    24. int arry[] = { 50,46,89,51,23,65,52,62 };
    25. int length = 8;
    26. int n = 0;
    27. printarry(arry, length, n);
    28. for (int i = 0; i < length - 1; i++)
    29. {
    30. int flag;
    31. flag = 0;
    32. for (int j = 0; j < length - 1; j++)
    33. {
    34. if (arry[j] > arry[j + 1])
    35. {
    36. flag = 1;
    37. int t;
    38. t = arry[j + 1];
    39. arry[j + 1] = arry[j];
    40. arry[j] = t;
    41. }
    42. }
    43. printarrydetil(arry,length,i);
    44. if (flag == 0)break;
    45. }
    46. n = 1;
    47. printarry(arry,length,n);
    48. return 0;
    49. }