给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
这题乍一看挺简单,思路就是输入一行字符串,然后根据空格分隔单词,将每个单词存到一个新数组里,最后逆序输出即可。
可是……我自己用一维数组写不出,裂开。
看到一个大佬用二维数组写的,orzorz
有亿点点看不懂,为什么会想到用二维数组写,以后想到了再来补充吧。
#include<bits/stdc++.h>
using namespace std;
int main() {
string a;
getline(cin,a); //PTA中不能用gets(),所以用getline代替
int len=a.size(),r=0,c=0;
char b[100][100];
for(int i=0;i<len;i++)
{
if(a[i]!=' ')
{
b[r][c++]=a[i];
}
else
{
b[r][c]='\0';
r++;
c=0;
}
}
for(int i=r;i>=0;i--)
{
cout<<b[i];
if(i>0) cout<<" ";
}
return 0;
}
(待续)