質問は、ユーザーに2桁の数字を入力するように求めるプログラムを作成し、その英単語を出力することを示しています。'41' と入力すると、printf 関数は '41' を出力します。プログラムはほぼ完成しましたが、11 ~ 19 桁を対応する単語に変換する作業に行き詰まりました。1 つの switch ステートメントを使用して最初の数字を出力し、2 つ目の switch ステートメントを使用して 2 番目の数字を出力しました。コードを見てください:
#include <stdio.h>
int main(void)
{
int first_digit, second_digit;
printf("Enter two digits: ");
scanf("%1d%1d",&first_digit,&second_digit);
switch(first_digit % 10) {
case 1: printf("ten"); break;
case 2: printf("twenty"); break;
case 3: printf("thirty"); break;
case 4: printf("forty"); break;
case 5: printf("fifty"); break;
case 6: printf("sixty"); break;
case 7: printf("seventy"); break;
case 8: printf("eighty"); break;
case 9: printf("ninety"); break;
}
switch(second_digit % 10) {
case 0: break;
case 1: printf(" one"); break;
case 2: printf(" two"); break;
case 3: printf(" three"); break;
case 4: printf(" four"); break;
case 5: printf(" five"); break;
case 6: printf(" six"); break;
case 7: printf(" seven"); break;
case 8: printf(" eight"); break;
case 9: printf(" nine"); break;
}
return 0;
}