题解 | #简单密码#
简单密码
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;
}
查看9道真题和解析

搜狐畅游公司福利 1309人发布