各文字にアルファベットの位置に対応する番号が割り当てられます。 'など、「C」が2であり、「B」は1であり、0である整数を与えられた単語を再帰的に解読するには?
すべての文字一文字ワードのエンコーディングは、その数である場合
低いです。
単語の最初のn-1文字のエンコーディングがxで、n番目の文字のエンコーディングがmの場合、n文字の単語のエンコーディングはx * 26 + mです。私はロジックがこのことを理解
:言葉は、単一の文字が含まれている場合
は、エンコードは、単語が2つの文字が含まれている場合は、firstletterを取る
0〜25です。* 26 + secondletter
単語は3つの文字が含まれている場合は、(firstletter * 26 + secondletter)* 26 + thirdletter
というように、あなたが全体のことをコード化するまで。
私は基本事例をどのように進めるのか分かりません。助けてください!
これは私がこれまで持っているものです。
char print_letter(unsigned int number)
{
char c = number + 97;
if (number <= 25)
{
printf("%c\n", c);
return(c);
}
else
{
fprintf(stderr, "ERROR: print_letter: Received "
"input %d,", number);
fprintf(stderr, " between 0 and 25 expected.");
return('-');
}
}
void print_word(unsigned int number)
{
if(number <= 25)
print_letter(number);
else
{
print_letter((number/26) % 26);
print_word(number/26);
}
}
お試しください。 Stack Overflowは、コード作成サービスではなく、Q&Aサイトです。効果的な質問を書く方法を学ぶには、[こちらをご覧ください](http://stackoverflow.com/help/how-to-ask)を参照してください。 –
http://meta.stackoverflow.com/questions/334822/how-do-i- ask-and-answer-homework-questions – NineBerry
質問を編集して、画像ではなくテキストとしてコードを入力してください。 – Kevin