题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1048
心得:
可以用映射表,也通过两个字符数组相互替换。(以下代码采用后者方法)
代码:
#include <iostream>
using namespace std;
int main(){
char s1[30]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char s2[30]="VWXYZABCDEFGHIJKLMNOPQRSTU";
char c[1000];
char* p=NULL;
int len,i;
while(gets(c)){
if(strcmp(c,"ENDOFINPUT")==0) break;
if(strcmp(c,"START")==0){
gets(c);
len=strlen(c);
for(i=0;i<len;i++){
p=strchr(s1,c[i]); //返回s1第一次出现c[i]的指针
if(p!=NULL) printf("%c",s2[p-s1]);
else printf("%c",c[i]);
}
cout<<endl;
}
if(strcmp(c,"END")==0) continue;
}
return 0;
}