用c语言编写一个程序实现将字符串升序排序
时间: 2023-12-07 21:02:41 浏览: 99
C语言程序设计-对长度为7个的字符串BdsinAD,将字符按ASCII码升序排序,结果ABDdins。
5星 · 资源好评率100%
好的,以下是一个示例程序,它可以实现将字符串数组按字典顺序升序排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100 // 字符串最大长度
void sort_strings(char arr[][MAX_LENGTH], int n) {
// 冒泡排序
int i, j;
char temp[MAX_LENGTH];
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (strcmp(arr[j], arr[j+1]) > 0) {
strcpy(temp, arr[j]);
strcpy(arr[j], arr[j+1]);
strcpy(arr[j+1], temp);
}
}
}
}
int main() {
char strings[][MAX_LENGTH] = {"apple", "orange", "banana", "grape"};
int n = 4;
printf("Original strings:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
sort_strings(strings, n);
printf("\nSorted strings:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
```
这个程序使用了冒泡排序算法来对字符串数组进行排序。`sort_strings` 函数接受一个二维字符数组和数组长度作为参数,然后使用 `strcmp` 函数比较字符串之间的大小关系,最后使用 `strcpy` 函数来交换字符串位置。在 `main` 函数中,我们声明了一个字符串数组,并初始化了一些字符串,然后调用 `sort_strings` 函数对它们进行排序。最后,我们输出排序后的结果。
阅读全文