整体的思路就是用数组记录空格的位置,然后再打印出来
#include<stdio.h>
#include<string.h>
int main()
{
char str[80];
int spaceIndex[80]; //空格位置记录数组
int i;
int j;
int k;
int length;
int temp;
j=0;
gets(str);
length = strlen(str);
for(i = 0;i< length;i++) //查找空格位置,并记录
{
if(str[i]==' ')
spaceIndex[j++]=i;
}
spaceIndex[j]=length; //长度记录在最后
for(k=j;k>0;k--)
{
temp=spaceIndex[k-1]+1; //空格后的字母起始
for(i =temp;i< spaceIndex[k];i++)
printf("%c",str[i]);
putchar(' ');
}
for(i =0; i<spaceIndex[0]; i++)
printf("%c",str[i]);
}