C语言字符串排序。调用Input函数输入10个字符串,调用Sort函数对这10个字符串按字典顺序排序,调用Print函数打印输出排序后的字符串。 Input函数原型: void Input(char str[][80],int n); Sort函数原型: void Sort(char str[][80],int n); Print函数原型: void Print(char str[][80],int n); ***输入数据格式:读入可包含有空格的字符串(字符串最大长度80) ***输出数据格式
时间: 2024-03-25 21:37:35 浏览: 30
以下是完整的C语言程序实现:
```c
#include <stdio.h>
#include <string.h>
void Input(char str[][80], int n);
void Sort(char str[][80], int n);
void Print(char str[][80], int n);
int main()
{
char str[10][80];
Input(str, 10);
Sort(str, 10);
Print(str, 10);
return 0;
}
void Input(char str[][80], int n)
{
printf("请输入%d个字符串:\n", n);
for (int i = 0; i < n; i++)
{
printf("第%d个字符串:", i + 1);
fgets(str[i], 80, stdin); // 使用fgets函数读入字符串,可以包含空格
str[i][strlen(str[i]) - 1] = '\0'; // 将末尾的换行符替换为字符串结束符
}
}
void Sort(char str[][80], int n)
{
char temp[80];
for (int i = 0; i < n - 1; i++)
{
for (int 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);
}
}
}
}
void Print(char str[][80], int n)
{
printf("排序后的字符串为:\n");
for (int i = 0; i < n; i++)
{
printf("%s\n", str[i]);
}
}
```
其中,Input函数使用fgets函数读入字符串,可以包含空格;Sort函数使用strcmp函数比较两个字符串的大小,使用strcpy函数交换两个字符串;Print函数使用printf函数输出字符串。