字符串与冒泡排序结合

img


这个是题目,要求用冒泡排序和函数来实现,这个该如何实现呢,大家帮忙支个招

#include <stdio.h>
#include <string.h>
 
void bubbleSort(char s[][11], int n)
{
    int i, j;
    char t[11] = { 0 };
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if (strcmp(s[j], s[j + 1]) < 0)
            {
                strcpy(t, s[j]);
                strcpy(s[j], s[j + 1]);
                strcpy(s[j + 1], t);
            }
        }
    }
}

int main()
{
    char s[5][11] = { 0 };
    printf("请输入5个字符串:\n");
    for (int i = 0; i < 5; i++)
        gets(s[i]);
    bubbleSort(s, 5);
    printf("5个字符串排序后为:\n");
    for (int i = 0; i < 5; i++)
        printf("%s\n", s[i]);
    return 0;
}
 
 

定义二维数组char a[5][11]保存数据,用冒泡排序即可


#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

void bubblesort(char a[][11], int n)
{
    int i, j;
    char tmp[11] = { 0 };
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if (strcmp(a[j], a[j + 1]) < 0)
            {
                strcpy(tmp, a[j]);
                strcpy(a[j], a[j + 1]);
                strcpy(a[j + 1], tmp);
            }
        }
    }
}


int main()
{
    char a[5][11] = { 0 };
    int i;
    for (i = 0; i < 5; i++)
        gets_s(a[i]);
    bubblesort(a, 5);
    for (i = 0; i < 5; i++)
        printf("%s\n", a[i]);
    return 0;
}



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