简单的模拟,实现见如下代码

#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;
}