Untitled
unknown
c_cpp
4 years ago
688 B
8
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...