#include
#include
int main(){
int i,j=0,m,k=0;
char sen[100];
char s[10][20];
gets(sen);
m=strlen(sen)+1;
for(i=0;i<m;i++){
if(sen[i]=='\0'){
s[j][k]='\0';
k=0;
j++;
}
if(sen[i]==' ')
{
s[j][k]='\0';
k=0;
j++;
}
s[j][k]=sen[i];
k++;
}
for(j=j-1;j>=0;j--){
if(j!=0)
printf("%s ",s[j]);
else
printf("%s\n",s[j]);
}
return 0;
}
題目連接http://www.patest.cn/contests/pat-b-practise/1009
下面這一段會有些問題
if(sen[i]==' ')//如果中間有一個空格
{
s[j][k]='\0';
k=0; //這裡k=0
j++;
}
s[j][k]=sen[i]; //這裡就是s[j][0] = 空格,也就是只要中間有一個空格,開頭必然是空格。