单词倒排--c语言题解

单词倒排

http://www.nowcoder.com/questionTerminal/81544a4989df4109b33c2d65037c5836

注意:除了空格符号,可能用其他非字母的任意符号分割单词
只需从字母开始计算,然后逆序输出。不知道为什么,感觉这道题它,不困难

//注意:可能用其他字符代表空格
#include<stdio.h>
#include<string.h>
int main(void){
    char str[100][21],temp[1001];
    int n = 0,len=0,i,j=0;
    memset(str,0,sizeof(str));
    while(fgets(temp, sizeof(temp), stdin)){
        len=strlen(temp);
        for(i=0;i<len;i++){
            if((temp[i] >= 'a' && temp[i]<= 'z') || (temp[i] >= 'A' && temp[i]<= 'Z' )){
                str[n][j] = temp[i];
                j++;
            }else if(j > 0){
                j=0;
                n++;
            }
        }
    }

    for(i = n-1;i>0;i--){
        printf("%s ",str[i]);
    }
    printf("%s\n",str[0]);
    return 0;
}
全部评论
利用j>0来判断是否单词计数+1,这点我竟然没想到,还另外弄了个flag变量来记录,是我低级了哈哈哈
1 回复 分享
发布于 2021-06-28 00:27
没想到,厉害
点赞 回复 分享
发布于 2021-07-16 12:39
这是最好的解法
点赞 回复 分享
发布于 2022-05-17 21:05

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
4 3 评论
分享
牛客网
牛客企业服务