#include <stdio.h> #include <string.h> //解密 void decode(char str[200],int n){ for(int i=0;i<n;i++){ if(str[i]>='A'&&str[i]<='Z'){ str[i]=str[i]-5; if(str[i]<'A'){ str[i]=str[i]+26; } } } } int main() { char line[200]; int flag; while (1) { if (fgets(line, 200, stdin) == NULL) { break; // 处理文件结束情况 } int len=strlen(line); if(len>0&&line[len-1]=='\n'){ line[len-1]='\0'; } //若为ENDOFINPUT 则跳出循环结束 if(strcmp(line,"ENDOFINPUT")==0){ break; } //若为start行,则开始解码 if(strcmp(line,"START")==0){ flag=1; continue; } if(strcmp(line,"END")==0){ flag=0; continue; } if(flag==1){ decode(line,len); printf("%s\n",line); } } return 0; }