c语言代码 按照字典顺序给若干字符串排序
时间: 2024-02-03 11:38:20 浏览: 90
以下是使用C语言实现字符串按字典序排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
#define MAX_NUM 10
int main() {
char str[MAX_NUM][MAX_LENGTH];
int i, j, n;
printf("请输入字符串个数(不超过10个):");
scanf("%d", &n);
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
}
char temp[MAX_LENGTH];
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
printf("按字典顺序排序后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
在该程序中,我们首先定义了一个二维字符数组 `str` 来存储输入的字符串,数组中每一行表示一个字符串。然后,我们通过循环输入 `n` 个字符串,这里我们假设每个字符串的长度不超过 `MAX_LENGTH - 1` 个字符。
接下来,我们使用两层循环来比较所有字符串,如果前面的字符串大于后面的字符串,则交换它们的位置。这里我们使用了 `strcmp()` 函数来比较两个字符串的大小。
最后,我们按顺序输出排序后的字符串。
注意,这里我们只是简单地使用了冒泡排序算法来对字符串进行排序,如果需要对大量字符串排序,建议使用更高效的排序算法。
阅读全文