c语言修改冒泡排序程序

如何修改这个冒泡排序程序,并且这个拓展应该从何下手,o.o,题目在下面的图里,麻烦解答。

img

img

修改如下:


#include<stdio.h>
#define M 10
void bubble(int arr[],int n) //第一个参数为数组,第二个参数为数组长度
{
    int i, j,t;
    for (i = 1; i < M; i++)
    {
        for (j = 0; j < M - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
}
int main()
{
    int arr[M]; 
    int i;
    for (i = 0; i < M; i++)
    {
        printf("第%d个数:", i + 1);
        scanf_s("%d", &arr[i]);
    }
    bubble(arr, M);       //调用函数
    for (i = 0; i < M; i++)
    {
        printf(" %d ", arr[i]);
        if ((i + 1) % 5 == 0)
            putchar('\n');
    }
}