โจทย์
แปลงตัวเลข 1-2 หลัก (0-99) เป็นคำอ่านภาษาอังกฤษ ใช้ switch case
โปรแกรมตัวอย่าง
#include <stdio.h>
int main() {
int no;
printf("Enter 1-2 digit number: ");
scanf("%d", &no);
if(no < 0 || no >= 99) {
printf("Invalid number\n");
} else {
printf("Number in words: ");
switch(no) {
case 0: printf("zero"); break;
case 10: printf("ten"); break;
case 11: printf("eleven"); break;
case 12: printf("twelve"); break;
case 13: printf("thirteen"); break;
case 14: printf("fourteen"); break;
case 15: printf("fifteen"); break;
case 16: printf("sixteen"); break;
case 17: printf("seventeen"); break;
case 18: printf("eighteen"); break;
case 19: printf("nineteen"); break;
default:
// หลักสิบ
switch(no / 10) {
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(no % 10) {
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;
}
}
printf("\n");
}
return 0;
}
ผลลัพธ์
enter any 1 or 2 digit number: 83 entered number: eighty three enter any 1 or 2 digit number: 6 entered number: six enter any 1 or 2 digit number: 548 Invalid number