C语言,输入十个字符串,使用指针数组将十个字符串从短到长排序
时间: 2023-08-16 17:09:34 浏览: 89
下面是一个示例代码,实现了输入十个字符串并按照长度从小到大排序的功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char strings[10][MAX_LEN];
char *pointers[10];
// 输入十个字符串
printf("请输入十个字符串:\n");
for (int i = 0; i < 10; i++) {
scanf("%s", strings[i]);
pointers[i] = strings[i]; // 将指针数组指向对应的字符串
}
// 使用冒泡排序将指针数组按照字符串长度从小到大排序
char *temp;
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (strlen(pointers[i]) > strlen(pointers[j])) {
temp = pointers[i];
pointers[i] = pointers[j];
pointers[j] = temp;
}
}
}
// 输出排序后的字符串
printf("排序后的字符串:\n");
for (int i = 0; i < 10; i++) {
printf("%s\n", pointers[i]);
}
return 0;
}
```
这里使用了一个指针数组 `pointers`,将其指向原始字符串数组 `strings` 中的每个字符串。然后使用冒泡排序将指针数组按照字符串长度从小到大排序。最后输出排序后的字符串即可。