c语言中如何将字符串按字母表顺序排列
时间: 2023-10-12 22:04:34 浏览: 632
可以使用C语言标准库中的qsort函数对字符串进行排序。具体步骤如下:
1. 定义一个字符串数组,用于存储待排序的字符串。
2. 使用fgets函数从标准输入中读取字符串。
3. 使用qsort函数对字符串数组进行排序,可以使用strcmp函数作为比较函数。
4. 使用puts函数输出排序后的字符串数组。
以下是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void *a, const void *b) {
return strcmp(*(char**)a, *(char**)b);
}
int main() {
char str[100][100];
int n = 0;
printf("请输入字符串(以#结束):\n");
while (1) {
fgets(str[n], 100, stdin);
if (str[n][0] == '#') break;
n++;
}
qsort(str, n, sizeof(char*), cmp);
printf("按字母表顺序排列后的字符串为:\n");
for (int i = 0; i < n; i++) {
printf("%s", str[i]);
}
return 0;
}
```
在上面的代码中,cmp函数用于排序,它接受两个指向char*类型的指针,比较它们所指向的字符串的大小关系。在主函数中,先定义一个字符串数组,用于存储待排序的字符串。然后使用fgets函数从标准输入中读取字符串,直到遇到#为止。接着使用qsort函数对字符串数组进行排序,排序时使用cmp函数作为比较函数。最后使用puts函数输出排序后的字符串数组。
阅读全文