用C语言编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束.

使用C语言编程,求大神,在线等输入字符串:bac,输出结果是abc,求方法,一直循环,直到输入end的时候,结束循环... 使用C语言编程,求大神,在线等
输入字符串:bac,输出结果是abc,求方法,一直循环,直到输入end的时候,结束循环
展开
 我来答
歪第埃斯
2015-11-24 · 超过29用户采纳过TA的回答
知道答主
回答量:54
采纳率:100%
帮助的人:25.3万
展开全部
#include <stdio.h>
int main(){
char c[100];
gets(c);
while (1){
if (c[0] == 'e'&&c[1] == 'n'&&c[2] == 'd'&&c[3] == '\0')
break;
gets(c);
}

return 0;
}
感觉楼主可能刚学就用个能看懂的方法好了
更多追问追答
追问
我表示运行不了= =
追答
楼主如果用的VS的话把gets(c) 换成gets_s(c,100)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我们必将知道
2015-11-24 · TA获得超过2171个赞
知道小有建树答主
回答量:1237
采纳率:92%
帮助的人:253万
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
    char*s[1000],p[]="end";
    do
    {
        gets(s);
    }while(strcmp(s,p)!=0);
 return 0;
}

请采纳。

追问
是按字典顺序排列,无论输入什么,只要输入end,就会停止循环的..我表示,您的这个我运行的是输入结果倒序排列,直接结束= =
追答

你没说清楚啊,之前并没说排序输出的事。

#include <stdio.h>
#include <string.h>
int main()
{
    char a[1000][1000],p[]="end",tmp[1000];
    int i,j,n,min;

    i=0;
    do
    {
        gets(a[i]);

    }while(strcmp(a[i++],p)!=0);

    n = i-1;
    for(i=0;i<n;i++)
    {
        min = i;
        for(j=i+1;j<n;j++)
        {
            if(strcmp(a[min],a[j])>0)
            {
                min = j;
            }
        }

        if(min != i)
        {
            strcpy(tmp,a[min]);
            strcpy(a[min],a[i]);
            strcpy(a[i],tmp);
        }
    }

    putchar('\n');
    for(i=0;i<n;i++)
        puts(a[i]);

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式