输入5个字符串(含空格),用指针实现按字母顺序由小到大对字符串排序后输出。
时间: 2023-10-31 20:10:35 浏览: 166
可以使用C语言中的qsort函数来实现排序,具体步骤如下:
1. 定义一个字符指针数组,用来存储输入的字符串。
2. 使用scanf函数依次读入5个字符串,存储到字符指针数组中。
3. 调用qsort函数对字符指针数组进行排序,排序的比较函数可以使用C语言库函数strcmp。
4. 按照排序后的顺序依次输出字符指针数组中的字符串。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
int main() {
char *str[5];
int i;
printf("请输入 5 个字符串:\n");
for (i = 0; i < 5; i++) {
str[i] = (char *)malloc(sizeof(char) * 100);
scanf("%s", str[i]);
}
qsort(str, 5, sizeof(char *), compare);
printf("排序后的字符串为:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
需要注意的是,需要使用动态内存分配来存储输入的字符串,否则可能会出现越界的问题。
阅读全文