题解 | #简单密码#

简单密码

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
Twilight_m...:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-26 19:47
中南大学 Java
悲,毕业了!这是个坏事儿啊!
爱睡觉的冰箱哥:《这是个好事啊》---峰哥浪走天涯
毕业后不工作的日子里我在...
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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