心得:我太菜了,想了半天。
如果用char
重点:1、'\0'放对地方;
#include<stdio.h>
int main(void)
{
char s[120];
while(gets(s))
{
int i,j=0,k=0;
char a[50][50]={{0}};
for(i=0;s[i]!='\0';i++)
{
if(s[i]!=' ') a[k][j++]=s[i];
else a[k][j]='\0',j=0,k++;
}
a[k][j]='\0';//可以不加
for(i=k;i>=0;i--)
{
for(j=0;a[i][j]!='\0';j++)
{
printf("%c",a[i][j]);
}
if(i)
printf(" ");
}
printf("\n");
}
return 0;
}
2、用string类
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(void)
{
string str,s1;
int i,len;
vector <string> vc;
getline(cin,str);
len=str.length();
for(i=0;i<len;)
{
s1="";
while(str[i]!=' '&&i<len) s1+=str[i],i++;
vc.push_back(s1);i++;
}
for(i=vc.size()-1;i>=0;i--)
{
if(i!=vc.size()-1) cout<<" ";
cout<<vc[i];
}
return 0;
}