Untitled

 avatar
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...