题解 | #简单密码#

简单密码

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

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
09-26 19:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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