#include<cstdio> #include<cstring> //注意,这题并不是要求把字符串反转,而是要求将单词反转; //利用二维数组存储各个单词,然后反向输出; int main(){ char str[90]; char ans[90][90]; int k=0; fgets(str,90,stdin); while(str[k]!='\n') k++; str[k]='\0'; int len = strlen(str); int r=0,h=0; //r是行号,h是列号 for(int i=0;i<len;i++){ if(str[i]!=' '){ ans[r][h++] = str[i]; //这里使用h++,代码更简洁 }else{ ans[r][h] = '\0'; //字符串结尾 r++; h = 0; //重置h,记录下一个单词 } } for(int i=r;i>=0;i--){ printf("%s",ans[i]); if(i>0) printf(" "); } return 0; }