题解 | #单词倒排#

单词倒排

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;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务