这题的输入格式要看懂,之前搞错了,wa了好多次,是每次测试样例输入一个字符串,当输入为“END”时输出结果。
这题我主要是用了循环数组的思想,详情请看代码。
#include <stdio.h>
#include <string.h>
int main()
{
int i,len;
char p[27]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
char s[300],b[300];
while(gets(s)!=NULL){
len=strlen(s);
if(strcmp(s,"START")==0){
memset(s,0,sizeof(s));
memset(b,0,sizeof(s));
}
if(strcmp(s,"ENDOFINPUT")==0) break;
if(strcmp(s,"END")==0)//这里和下面的for循环顺序不能颠倒,否则s会改变,b也会跟着改变
puts(b);
for(i=0;i<len;i++){
if(s[i]!=' '&&s[i]!=',')
s[i]=p[(s[i]-'A'-5+26)%26];
b[i]=s[i];
}
}
}