C语言字符串反转逆序输出
样例输入Howareyou?Howisitgoing?Areyouhappy?样例输出?yppahuoyerA?gniogtisiwoH?uoyerawoH帮我看下我那错...
样例输入
How are you?
How is it going?
Are you happy?
样例输出
?yppah uoy erA
?gniog ti si woH
?uoy era woH
帮我看下我那错了...或者在帮我写个..谢谢了 用 C语言啊
#include <stdio.h>
#include <string.h>
int main()
{
char a[31][31],*start,*end;
int i=0,t,len,k=0;
while(gets(a[i])!=NULL)
{
len=strlen(a[i]);
start=a[i];end=&a[i][len-1];
while(start<end)
{
t=*start;*start=*end;*end=t;
}
i++;
k++;
}
}
for(i=k;i>=0;i--)
{
puts(a[i]);
printf("\n");
}
return 0;
}
题目是这样的..怎么用Ctrl+z结束啊?描述
输入多行字符串,把这些字符串逆序且反转输出。
输入
输入多个(小于30个)字符串,每行一个字符串,字符串长度不超过30
输出
把字符串反转逆序输出。逆序指最后输入的字符串最先输出,反转指把每句话的字母都倒过来输出。
样例输入
How are you?
How is it going?
Are you happy?
样例输出
?yppah uoy erA
?gniog ti si woH
?uoy era woH
提示
由于没讲具体输入多少行字符串,因此,采用条件为gets(...)!=NULL的循环来实现,在VC6中运行时,输入Ctrl+Z结束输入 展开
How are you?
How is it going?
Are you happy?
样例输出
?yppah uoy erA
?gniog ti si woH
?uoy era woH
帮我看下我那错了...或者在帮我写个..谢谢了 用 C语言啊
#include <stdio.h>
#include <string.h>
int main()
{
char a[31][31],*start,*end;
int i=0,t,len,k=0;
while(gets(a[i])!=NULL)
{
len=strlen(a[i]);
start=a[i];end=&a[i][len-1];
while(start<end)
{
t=*start;*start=*end;*end=t;
}
i++;
k++;
}
}
for(i=k;i>=0;i--)
{
puts(a[i]);
printf("\n");
}
return 0;
}
题目是这样的..怎么用Ctrl+z结束啊?描述
输入多行字符串,把这些字符串逆序且反转输出。
输入
输入多个(小于30个)字符串,每行一个字符串,字符串长度不超过30
输出
把字符串反转逆序输出。逆序指最后输入的字符串最先输出,反转指把每句话的字母都倒过来输出。
样例输入
How are you?
How is it going?
Are you happy?
样例输出
?yppah uoy erA
?gniog ti si woH
?uoy era woH
提示
由于没讲具体输入多少行字符串,因此,采用条件为gets(...)!=NULL的循环来实现,在VC6中运行时,输入Ctrl+Z结束输入 展开
5个回答
展开全部
已改,看注释
#include <stdio.h>
#include <string.h>
int main()
{
char a[31][31],*start,*end;
int i=0,t,len,k=0;
while(gets(a[i])!=NULL)
{
len=strlen(a[i]);
start=a[i];end=&a[i][len-1];
while(end - start > 0) //比较两个指针要这样比较
{
t=*start;
*start=*end;
*end=t;
start++; //start指针向后移
end--; //end指针向前移
}
i++;
k++;
}
for(i=k-1;i>=0;i--) //从k-1开始
{
puts(a[i]);
printf("\n");
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char a[31][31],*start,*end;
int i=0,t,len,k=0;
while(gets(a[i])!=NULL)
{
len=strlen(a[i]);
start=a[i];end=&a[i][len-1];
while(end - start > 0) //比较两个指针要这样比较
{
t=*start;
*start=*end;
*end=t;
start++; //start指针向后移
end--; //end指针向前移
}
i++;
k++;
}
for(i=k-1;i>=0;i--) //从k-1开始
{
puts(a[i]);
printf("\n");
}
return 0;
}
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
char a[3][31],*p;
int i,len;
for(i=0;i<3;i++)
gets(a[i]);
for(i=0;i<3;i++)
{
len=strlen(a[i]);
p=a[i]+len-1;
for(;p>=a[i];p--)
printf("%c",*p);
putchar('\n');
}
}
#include <string.h>
int main()
{
char a[3][31],*p;
int i,len;
for(i=0;i<3;i++)
gets(a[i]);
for(i=0;i<3;i++)
{
len=strlen(a[i]);
p=a[i]+len-1;
for(;p>=a[i];p--)
printf("%c",*p);
putchar('\n');
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(start<end)
{
t=*start;*start=*end;*end=t;
start++;
end--
}
这里加一句
{
t=*start;*start=*end;*end=t;
start++;
end--
}
这里加一句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询