#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{ int num;
cin>>num;
getchar();
while(num--)
{
char ch[1000];
int len;
cin.getline(ch,1000);
len=strlen(ch);
int front=0;
int rear=0;
int record=0;
char c;
while(front<=len)
{
if(ch[front]==' '||ch[front]=='\0')
{
record=front-1;
while(record>rear)
{
c=ch[record];
ch[record]=ch[rear];
ch[rear]=c;
rear++;
record--;
}
rear=front+1;
}
front++;
}
cout<<ch<<endl;
}
}
tips:
1.这题又是我抄的..开始变菜
2.getchar() 一定要有,不然输入3之后再打的回车就被getline给识别了。
3.(1) NULL: 即空指针。
为了防止混淆,在C/C++中,当要将一个指针赋值为空指针的时候,都应该将它赋为NULL,而不是0。
(2) ‘\0’:‘\0’是一个“空字符”常量,它表示一个字符串的结束,它的ASCII码值为0。
为了防止混淆,在C/C++中,当要给一个字符串添加结束标志时,都应该用‘\0’而不是NULL或0。
4.front<=len,而不是front<len,否则将不识别尾部的'\0'。