编程对若干字符串升序排序,然后输出排序后的结果. 用二维数组存放, 字符串的个数<10个,字符串长度<50。 程序运行结果示例: 请输入需要排序的字符串个数:3 请输入第1个字符串:ba 请输入第2个字符串:abcdesfliee 请输入第3个字符串:aa 排序后的字符串顺序为: 第1个字符串为:aa 第2个字符串为:abcdesfliee 第3个字符串为:ba 输入提示:"请输入需要排序的字符串个数:" 输入格式:"%d" 输入提示:"请输入第%d个字符串:" 输入格式:"%s" 输出提示:"排序后的字符串顺序为:\n" 输出格式:"第%d个字符串为:%s \n"
时间: 2023-12-07 20:02:44 浏览: 78
好的,我来为你写一个C语言的程序实现你的需求:
```c
#include <stdio.h>
#include <string.h>
int main()
{
int n, i, j;
char str[10][50], temp[50];
printf("请输入需要排序的字符串个数:");
scanf("%d", &n);
getchar(); // 将上一行输入后的回车符吸收掉
for(i=0; i<n; i++)
{
printf("请输入第%d个字符串:", i+1);
scanf("%s", str[i]);
}
// 冒泡排序
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i-1; j++)
{
if(strcmp(str[j], str[j+1]) > 0)
{
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy(str[j+1], temp);
}
}
}
printf("排序后的字符串顺序为:\n");
for(i=0; i<n; i++)
{
printf("第%d个字符串为:%s \n", i+1, str[i]);
}
return 0;
}
```
你可以将上面的代码复制到本地的C语言编译器中运行,看一下效果。
阅读全文