📜  如何根据字符串长度排列二维数组 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:24:49.649000             🧑  作者: Mango

如何根据字符串长度排列二维数组 - C 编程语言

在 C 编程语言中,我们可以使用以下方法来根据字符串长度排列二维数组:

  1. 首先,我们需要定义一个二维字符数组,其中包含多个字符串。

    char str[10][30] = {"apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew", "kiwi", "lemon"};
    
  2. 接着,我们需要按照字符串长度对字符串进行排序。可以使用冒泡排序算法,代码如下:

    for (int i = 0; i < 10; i++) {
        for (int j = i+1; j < 10; j++) {
            if (strlen(str[i]) > strlen(str[j])) {
                char temp[30];
                strcpy(temp, str[i]);
                strcpy(str[i], str[j]);
                strcpy(str[j], temp);
            }
        }
    }
    

    代码中,我们使用了 strlen() 函数来获取字符串长度,使用了 strcpy() 函数来复制字符串并交换位置。

  3. 最后,我们可以打印排列结果,代码如下:

    for (int i = 0; i < 10; i++) {
        printf("%s\n", str[i]);
    }
    

    这段代码将按照字符串长度递增的顺序依次打印排列后的字符串。

以上就是根据字符串长度排列二维数组的方法,完整代码如下:

#include <stdio.h>
#include <string.h>

int main()
{
    char str[10][30] = {"apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew", "kiwi", "lemon"};

    for (int i = 0; i < 10; i++) {
        for (int j = i+1; j < 10; j++) {
            if (strlen(str[i]) > strlen(str[j])) {
                char temp[30];
                strcpy(temp, str[i]);
                strcpy(str[i], str[j]);
                strcpy(str[j], temp);
            }
        }
    }

    for (int i = 0; i < 10; i++) {
        printf("%s\n", str[i]);
    }

    return 0;
}

注意,以上代码仅是示例代码,实际使用时需要根据具体需求进行修改和优化。