Untitled
unknown
c_cpp
4 years ago
688 B
5
Indexable
#include<stdio.h> #include<string.h> #include<ctype.h> char str[1000000],key[1000000]; int keynum[1000000]; void init(){ int keyLen=strlen(key); for(int i=0;i<keyLen;i++){ if(isupper(key[i])){ keynum[i]=key[i]-'A'; } else if(islower(key[i])){ keynum[i]=key[i]-'a'; } } } int main(){ while(scanf("%s%s",str,key)!=EOF){ init(); int len=strlen(str); int keyLen=strlen(key); int tmp; for(int i=0;i<len;i++){ if(isupper(str[i])){ tmp=str[i]-'A'; tmp+=keynum[i%keyLen]; tmp%=26; str[i]=tmp+'A'; } else if(islower(str[i])){ tmp=str[i]-'a'; tmp+=keynum[i%keyLen]; tmp%=26; str[i]=tmp+'a'; } } printf("%s\n",str); } }
Editor is loading...