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.
展开
 我来答
刺友互
高粉答主

2019-06-28 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.6万
展开全部

1、新建一个 字符串数组的定义与输出项目。

2、添加一个 str.c 文件。

3、包含stdio.h和stdlib.h头文件

4、输入main函数主体,system()和返回值。

5、定义一个字符串变量str。

6、使用printf()函数输出字符串变量str。

7、运行程序,查看输出结果。

阿冬76
2017-11-14 · TA获得超过5028个赞
知道大有可为答主
回答量:2710
采纳率:88%
帮助的人:1097万
展开全部

由于你的题目中没有说明每行的字符串最大有多大,所以暂时采用固定大小的数组,代码如下:

#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;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式