题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
//再分享一个稍微巧妙一点的解法 #include <stdio.h> #include <string.h> int main() { char c; char word[5000][21]; int num=0,top=0,flag=0; while((c = getchar())!=EOF) { if(c>='a'&&c<='z'||c>='A'&&c<='Z') { //将单词放入一行 word[num][top++]=c; //flag为0表示目前没遇到非字母符号 flag=0; } else { //遇到分隔字符就换一行 if(flag==0) { num++; top=0; //flag记录是否已经遇到分隔符号并换行,遇到连续的分隔符号,只换一次行 flag=1; } } } for(int i=num-1;i>=0;i--) { //从下往上遍历打印,一行是一个单词 printf("%s ",word[i]); } return 0; }