宿題への助言をお願いします。
内容は、入力された整数列を文字型配列で読み込み、その整数を以下のような変換規則に従い出力するというものです。
0→D、1→f、2→k、3→E、4→y、5→Q、6→R、7→e、8→B、9→t

以下は作ってみたものとなります。出力結果が文字化けしてしまいます…

#include<stdio.h>
#include<string.h>
#define N 50

int main(){
int i, j;
char num[N], txt[N];

printf("%d個までの整数列を入力して下さい : ", N);
scanf("%s", &num);

for(i = 0; i < strlen(num); i++){
for(j = 0; j < 10; j++){
if(num[i] == 'j') txt[i] = "DfkEyQReBt"[j];
}
}

printf("\n整数列を変換した文字列は「");
for(i = 0; i < strlen(num); i++){
putchar(txt[i]);
}
printf("」です。\n");

return 0;

}