初学者,写PAT网站上面的题目遇到的问题,题目如下,结果有的时候鬼畜,不知道是哪里出现了问题,球丘
题目:
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例
Hello World Here I Come
输出样例
Come I Here World Hello
我的错误输出
Come I Heree World Hello
我的有问题的代码:
#include <stdio.h>
int main()
{
char the,lines[20][20],gtx[84];
int n=0,m=0,i=0;
gets(gtx);//输入一段话,准备一个字一个字分析
while(gtx[i]!='\0')
{
if((gtx[i]>='A' && gtx[i]<='Z')||(gtx[i]>='a' && gtx[i]<='z'))
{while((gtx[i]>='A'&>x[i]<='Z')||(gtx[i]>='a'&>x[i]<='z'))
{
lines[n][m]=gtx[i];
m++;
i++;
}
}//如果是英文字符,就收入一个数组中
else if(gtx[i]==' ')
{
lines[n][m+1]='\0';
n++;
m=0;
i++;
}//如果是空格,就结束这个数组的输入,跳转到下一个数组
}
for(int k=n;k>=0;k--)
{
if(k>0)
printf("%s ",lines[k]);
else if(k==0)
printf("%s",lines[k]);
}//按照倒序输出单词组
}
我的错误输出,很鬼畜,还会有很多乱码
举例子
输入
love the world
ew ew
输出
world the love2
ewl ew4
球邱,哪里出的事啊