水题,但是有一个巧妙的方法,所以贴出来了
一开始直接写的
#include <iostream>
#include<cstdio>
using namespace std;
int main()
{
string str;
int j = 0;
getline(cin,str);
for(int i = str.length() - 1;i >= 0;i--)
{
if(str[i] != 32)j++;
else
{
for(int k = i + 1;k <= i + j;k++)
cout<<str[k];
cout<<" ";
j = 0;
}
if(i == 0)
{
int m = 0;
while(str[i+m] != 32)
{
cout<<str[i+m];
m++;
}
}
}
return 0;
}
在论坛上看到这个递归的方法 赞一个
#include <iostream>
#include<cstdio>
using namespace std;
void fanzhuan()
{
string a;
if(!(cin>>a))return;
fanzhuan();
cout<<a<<" ";
}
int main()
{
freopen("data.txt","r",stdin);
fanzhuan();
return 0;
}