3.对于函数bubbleSorto,可以通过简单的修改以降序进行排序。

对于函数bubbleSorto,可以通过简单的修改以降序进行排序。在每种情况下,识别所需的更改,然后重新连接函数以接受一个标志,指示排序应按递增或递减顺序。修改例程以正确接收和使用此标志参数。

可以增加1个参数,来控制升序还是降序,代码如下:

#include <stdio.h>
//flag = 1时表示升序,0则表示降序
void bubbleSorto(int a[], int n, int flag)
{
    int i, j, t;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if ((flag == 1 && a[j] > a[j + 1]) || (flag == 0 && a[j] < a[j + 1]))
            {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
    }
}

int main()
{
    int a[10], i;
    printf("请输入10个数:");
    for (i = 0; i < 10; i++)
        scanf("%d", &a[i]);
    printf("升序排列:\n");
    bubbleSorto(a, 10, 1);
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n降序排列:\n");
    bubbleSorto(a, 10, 0);
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632