📅  最后修改于: 2023-12-03 15:24:49.649000             🧑  作者: Mango
在 C 编程语言中,我们可以使用以下方法来根据字符串长度排列二维数组:
首先,我们需要定义一个二维字符数组,其中包含多个字符串。
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);
}
}
}
代码中,我们使用了 strlen()
函数来获取字符串长度,使用了 strcpy()
函数来复制字符串并交换位置。
最后,我们可以打印排列结果,代码如下:
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;
}
注意,以上代码仅是示例代码,实际使用时需要根据具体需求进行修改和优化。