题解 | #计算某字符出现次数#

单词倒排

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

1.使用c_pre标记前一次是否检测到了非字母,若前一次不是非字母,则输出,否则不输出

2.需要注意的是 对于 ||  和&&连用时,尽量加上括号,避免编译器给出一些没必要的错误警报


#include<stdio.h>
#include<string.h>

int main(){
    char s[10002];
    
    // method 1
    fgets(s,sizeof(s),stdin);
    int len = strlen(s)-1;
    
    char pre = '0';
    for(int i=len-1;i>=0;i--){
        if(!(('a'<=s[i]&&s[i]<='z')||('A'<=s[i]&&s[i]<='Z'))){ // 非字母
            if(pre!=' '){
                for(int j=i+1;j<len;j++)
                {
                    if(('a'<=s[j]&&s[j]<='z')||('A'<=s[j]&&s[j]<='Z'))
                        printf("%c",s[j]);
                    else
                        break;
                }
                printf(" ");
            }
            pre=' '; // 用空格标记
        }
        else
            pre = s[i];
        
    }
    for(int j=0;j<len;j++)
    {
        if('a'<=s[j]&&s[j]<='z'||'A'<=s[j]&&s[j]<='Z')
            printf("%c",s[j]);
        else
            break;
    }
    // method 2 输入时就进行处理
//     char c;
//     char pre='0';
//     int k=0;
//     while((c=getchar())!='\n'){
//         if(!(('a'<=c&&c<='z')||('A'<=c&&c<='Z')) && pre!=' '){
//             s[k++] = ' ';
//             pre = ' ';
//         }
//         else if(('a'<=c&&c<='z')||('A'<=c&&c<='Z')){
//             s[k++] = c;
//             pre = c;
//         }
//     }
    
//     int len = strlen(s);
//     for(int i=len-1;i>=0;i--){
//        if(s[i]==' '){
//            for(int j=i+1;j<len;j++){
//            if(s[j]!=' ')
//                printf("%c",s[j]);
//            else
//                break;
//            }
//            printf(" ");
//        }
//     }
//     for(int j=0;j<len;j++){
//         if(s[j]!=' ')
//             printf("%c",s[j]);
//         else
//             break;
//     }
}


全部评论

相关推荐

在努力的外卷侠很靠谱:怎么,大家都没保底吗?我这美团已经入职了,不说了,系统派单了。
点赞 评论 收藏
分享
头像
今天 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务