char name[5][20]={"baidu","alibaba","tencent","jd","bytedance"}; ,用冒泡排序法将字符串按照名字长度的升序排序
时间: 2023-11-26 15:48:51 浏览: 138
hdf5-1.12.0-1.5.5-API文档-中英对照版.zip
5星 · 资源好评率100%
可以使用冒泡排序法对字符串按照名字长度的升序排序。具体实现方法如下:
```
#include <stdio.h>
#include <string.h>
int main()
{
char name[5][20] = {"baidu", "alibaba", "tencent", "jd", "bytedance"};
int i, j;
char temp[20];
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4 - i; j++)
{
if (strlen(name[j]) > strlen(name[j + 1]))
{
strcpy(temp, name[j]);
strcpy(name[j], name[j + 1]);
strcpy(name[j + 1], temp);
}
}
}
for (i = 0; i < 5; i++)
{
printf("%s\n", name[i]);
}
return 0;
}
```
在上面的代码中,我们首先定义了一个二维字符数组name,其中包含了5个字符串。然后我们使用了两个for循环来实现冒泡排序,外层循环控制排序的轮数,内层循环控制每一轮比较的次数。在每一轮比较中,我们使用了strlen函数来获取字符串的长度,然后比较两个字符串的长度,如果前一个字符串的长度大于后一个字符串的长度,则交换两个字符串的位置。最后,我们使用for循环遍历排序后的字符串数组,并输出每个字符串。
阅读全文