C语言中怎么一次性的输入多行(不确定是多少行的)字符串,然后把它们全反过来输出,比如输入 wo s

C语言中怎么一次性的输入多行(不确定是多少行的)字符串,然后把它们全反过来输出,比如输入woshidagenishixiaodi...输出...idoaixihsineg... C语言中怎么一次性的输入多行(不确定是多少行的)字符串,然后把它们全反过来输出,比如输入
wo shi da ge
ni shi xiao di
...
输出
...
id oaix ihs in
eg ad ihs ow

求大神指教指教!本人不胜感激!!!
展开
 我来答
捌零老陈
2014-11-24 · TA获得超过727个赞
知道大有可为答主
回答量:1414
采纳率:100%
帮助的人:773万
展开全部

#include <stdio.h>

#include <stdlib.h>

int main()

{

    char* buf = NULL; //动态分配  //char buf[1024]; //指定长度

    char ch;

    int len = 0,i;


    printf("Please input some line:\n");

    while(scanf("%c",&ch)==1 &闷余租& ch!=EOF && ch!='#'){ //定义一个结束符或者ctrl+z/d

        //动态的实现蚂兆

        buf = (char*)realloc(buf,sizeof(char)*(len+1));

        buf[len++] = ch;

        //buf[len++] = ch;  //指定毁坦长度

    }

    printf("reverse your input to print:\n");

    for(i=len-1;i>=0;i--){

        printf("%c",buf[i]);

    }

    free(buf); //动态清除

    return 0;

}

追问
容我再研究研究,嘿嘿,谢啦!
cdyzxy
推荐于2017-09-30 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3702万
展开全部
【首先】是多行字符串的输入和保存。可以:
开设一个字符串数组如下,其中N定义最多可记录多少行,M定义每行可保存多少个字符,改变#define定义可以调整这两个数据
#define N 1024 //最多1024行
#define M 256 //每行最多存储255个字符
char input[N][M];
实际输入一行可以用gets函数实现,判断gets函数的返回值可知道是否结束输入(比如输入Ctrl+Z的组合哗搭键结束),每输芦指入一行,记录的行数加1,最后可得到实际输入的行数和按行号顺序保存在input数组中的所有字符串。

【然后】是倒序输出字符串,每个字符串倒序输出。可以:
按照倒序给出input的第1维下标,每行输出一个字符串,在输出每个字符串时,找到字符串末尾乱哗拿(都是以字符'\'结束的),然后输出一个字符再往回倒退一个字符,直至输出完整个字符串。如:
for ( i=n-1;i>=0;i-- )
{ nn=0; while ( input[i][nn] ) nn++;
for ( j=nn-1;j>=0;j-- ) printf("%c",input[i][j]);
printf("\n");
}
更多追问追答
追问
首先,非常感谢!   但容我再研究研究,
能直接写个代码让我具体研究下不?大神!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-11-22
展开全部
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<19;i++) //冒泡排序排列20个整数
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<20;i++) //输出排败册桐序后的20个整察坦数
printf("姿誉%d ",a[i]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庄周他老子
2014-11-24 · 超过29用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:56.8万
展开全部

#include<stdio.h>

#include<string.h>

void main()

{

char str[100];

int length,i;

printf("渗碰搜输入吵搜字符:丛历");

gets(str);

length = strlen(str);

for(i=length-1;i>=0;i--)

printf("%c",str[i]);


printf("\n");

}

追问
那个,我要的是一次性输入多行,然后再输出多行,你的这个代码我会
追答
那你把数组设为二维数组就可以了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式