简单的模拟,实现见如下代码
#include <stdio.h>
#include <string.h>
int main()
{
char in[101];
char key[101];
scanf("%s", key);
scanf("%s", in);
char dict[26] = {0};
int selected[26] = {0};
int len = strlen(key);
int i,j=0;
//将给定的字母放入dict
for(i=0; i < len; i++)
{
if(!selected[key[i]-'a'])
{
selected[key[i]-'a'] = 1;
dict[j++] = key[i];
}
}
//完成剩下的字母放入dict
for(i=0; i < 26; i++)
{
if(!selected[i])
{
dict[j++] = 'a' + i;
}
}
for(i=0; i < strlen(in); i++)
{
if(' ' != in[i])
{
in[i] = dict[in[i] - 'a'];
}
}
printf("%s", in);
return 0;
}