给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
思路:输入该字符串判断每一个字符,若是字符在存到数组中,若是空格则下次存到下一个数组中。
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int j=0,k=0;
char content1[100];
char content2[100][100];
gets(content1);
for(int i=0;i<strlen(content1);i++)
{
if(content1[i]!=' ') //如果是字符的话,放到一个数组中
{
content2[j][k++]=content1[i];
}
else //空格的话,放到下一个数组中,并将字符个数置为0
{
j++;
k=0;
}
}
for(int i=j;i>0;i--)
{
cout<<content2[i]<<" "; //直接输出
}
cout<<content2[0];
return 0;
}
题目链接: