c语言 字符串排序程序
时间: 2023-06-22 15:24:49 浏览: 267
C语言-字符串排序
以下是一个使用 C 语言编写的字符串排序程序,它使用 `strcmp()` 函数比较字符串并使用冒泡排序算法对字符串进行排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void sort_strings(char strings[][MAX_LEN], int n);
int main() {
int n;
char strings[MAX_LEN][MAX_LEN];
printf("请输入字符串个数: ");
scanf("%d", &n);
printf("请输入 %d 个字符串: \n", n);
for (int i = 0; i < n; i++) {
scanf("%s", strings[i]);
}
sort_strings(strings, n);
printf("排序后的字符串为: \n");
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings(char strings[][MAX_LEN], int n) {
char temp[MAX_LEN];
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (strcmp(strings[j], strings[j+1]) > 0) {
strcpy(temp, strings[j]);
strcpy(strings[j], strings[j+1]);
strcpy(strings[j+1], temp);
}
}
}
}
```
这个程序首先提示用户输入要排序的字符串数量和每个字符串。然后它调用 `sort_strings()` 函数来对字符串进行排序。该函数使用冒泡排序算法,比较每个字符串并交换它们的位置(如果它们不是按字母顺序排列的)。最后,程序输出已排序的字符串。
请注意,此程序假定所有输入的字符串都不超过 `MAX_LEN` 个字符。如果输入的字符串超过此长度,它们可能会被截断或导致未定义的行为。
阅读全文