题解 | #简单密码#

简单密码

https://www.nowcoder.com/practice/ff99c43dd07f4e95a8f2f5448da3772a

我试的自测和提交都没问题呀

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

void func(){    //解密函数
    getchar();  //把输入缓冲区清空
    char text[201];
    gets(text);
    int len = strlen(text);
    for (int i = 0; i < len; ++i) {
        if(text[i] >= 'A' && text[i] <= 'E'){
            text[i] += 21;
        }
        else if(text[i] >= 'F' && text[i] <= 'Z'){
            text[i] -= 5;
        }
    }
    for (int i = 0; i < len; ++i) {
        printf("%c", text[i]);
    }
    printf("\n");
}

int main(){
    char beginText[15], endText[15];    //输密码之前和之后的句子
    char start[] = "START";
    char trueEnd[] = "ENDOFINPUT";
    char end[] = "END";

    while(scanf("%s", beginText) != EOF){
        if (strcmp(beginText, trueEnd) == 0){   //如果是ENDOFINPUT则退出程序
            return 0;
        }
        else if(strcmp(beginText, start) != 0){     //如果不是START则报错并退出程序
            printf("ERROR!\n");
            return 0;
        }
        else{   //是START则调用函数解密
            func();
        }
        scanf("%s", endText);
        if(strcmp(endText, end) == 0){      //结束语是END则继续
            continue;
        }
        else{       //如果结束语不是END则报错并退出程序
            printf("ERROR!\n");
            return 0;
        }
    }
    return 0;
}

全部评论

相关推荐

八股刚起步,看了javaguide,小林coding,还有面渣,感觉面渣是体验最好的,请问只看面渣够用吗,有不完善的需要补吗?
码农索隆:先背最基础的知识,然后理解情景题,现在面试大多数喜欢问情景题,更考验面试者的基础和临场发挥情况
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务