這道題,思路上沒(méi)有什么好說(shuō)的屯耸,常規(guī)思路疼电,里面有幾個(gè)小點(diǎn)需要注意,代碼加注釋了据德。
#include <cstdio>
#include <cstring>
int main(){
char wordList[90][90];//二維數(shù)組存單詞
char stringList[90];//一位數(shù)組存字符串
fgets(stringList, 90, stdin);//PAT中不讓使用gets
int num = 0, j = 0;//num記錄單詞的個(gè)數(shù)
long long length = strlen(stringList);
for(int i = 0; i < length; i++){
if(stringList[i]==' '){
wordList[num][j] = '\0';//為每個(gè)單詞添加結(jié)尾
j = 0;
num++;
}else{
if(stringList[i] == '\n'){//最后一個(gè)單詞的換行需要特殊處理
wordList[num][j] = '\0';
break;
}else{
wordList[num][j++] = stringList[i];
}
}
}
for(int i = num; i >= 0; i--){
printf("%s", wordList[i]);
if(i){
printf(" ");
}
}
printf("\n");
return 0;
}