C语言对字符串按字典排序
时间: 2023-05-31 10:06:46 浏览: 121
以下是一个C语言程序,可以对一组字符串按照字典顺序进行排序:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
#define MAX_STR 10
void sort_strings(char strings[][MAX_LEN], int n);
int main() {
char strings[MAX_STR][MAX_LEN];
int n, i;
printf("Enter the number of strings: ");
scanf("%d", &n);
printf("Enter %d strings: \n", n);
for (i = 0; i < n; i++) {
scanf("%s", strings[i]);
}
sort_strings(strings, n);
printf("\nSorted strings:\n");
for (i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings(char strings[][MAX_LEN], int n) {
int i, j;
char temp[MAX_LEN];
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
strcpy(temp, strings[i]);
strcpy(strings[i], strings[j]);
strcpy(strings[j], temp);
}
}
}
}
```
这个程序先从用户处获取需要排序的字符串个数和字符串本身,然后调用 `sort_strings` 函数对字符串进行排序。排序的方法是使用了 `strcmp` 函数,它可以比较两个字符串的字典顺序。如果一个字符串字典顺序比另一个字符串靠前,就交换它们的位置。最后,程序输出排好序的字符串列表。
阅读全文