C语言题目输入多行字符串(有可能有空格),最后一行为#号作为结束,按照由小到大的顺序将字符串分行输出
输入多行字符串(有可能有空格),最后一行为#号作为结束,按照由小到大的顺序将字符串分行输出(不输出"#")。例如输入:Istudyveryhard.Clanguageis...
输入多行字符串(有可能有空格),最后一行为#号作为结束,按照由小到大的顺序将字符串分行输出(不输出"#")。
例如输入:
I study very hard.
C language is very interesting
He is a professfor.
#
输出:
C language is very interesting
He is a professfor.
I study very hard. 展开
例如输入:
I study very hard.
C language is very interesting
He is a professfor.
#
输出:
C language is very interesting
He is a professfor.
I study very hard. 展开
2个回答
展开全部
由于你的题目中没有说明每行的字符串最大有多大,所以暂时采用固定大小的数组,代码如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 200
int cmp(const void* a, const void* b){
return strcmp((char*)a, (char*)b);
}
int main(void){
char str[N][N];
int i=0;
while(gets(str[i])&&strcmp(str[i],"#"))
i++;
qsort(str, i, sizeof(str[0]), cmp);
int a;
for(a=0; a<i; ++a)
puts(str[a]);
printf("\n");
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询