C语言编写程序,字符串排序,例如输入:banana orrange apple,则以下程序的输出结果: apple banana orrange
时间: 2024-02-12 18:38:59 浏览: 161
以下是一个简单的 C 语言程序,用于对字符串进行排序并输出结果:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 定义字符串最大长度
void sortStrings(char arr[][MAX_LEN], int n);
int main()
{
char strings[10][MAX_LEN];
int n, i;
printf("Enter number of strings: ");
scanf("%d", &n);
printf("Enter the strings:\n");
for (i = 0; i < n; i++)
scanf("%s", strings[i]);
sortStrings(strings, n);
printf("\nSorted strings:\n");
for (i = 0; i < n; i++)
printf("%s\n", strings[i]);
return 0;
}
void sortStrings(char arr[][MAX_LEN], int n)
{
int i, j;
char temp[MAX_LEN];
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(arr[i], arr[j]) > 0)
{
strcpy(temp, arr[i]);
strcpy(arr[i], arr[j]);
strcpy(arr[j], temp);
}
}
}
}
```
这段程序中,我们先定义了一个宏 `MAX_LEN` 来表示字符串的最大长度。然后定义了一个函数 `sortStrings`,用于对字符串数组进行排序。在 `main` 函数中,我们先从用户输入中获取字符串的数量和内容,然后调用 `sortStrings` 函数进行排序,并输出结果。
其中,`sortStrings` 函数使用了冒泡排序的算法,比较相邻的两个字符串的大小关系,如果前一个字符串大于后一个字符串,则交换它们的位置,一直循环到数组中所有的字符串都被排序完毕。最后,`sortStrings` 函数返回一个已排序的字符串数组。
阅读全文