Chuyển đổi số thành ký tự trong C



Bài tập

Viết một chương trình C để nhập một số thập phân và sau đó chuyển đổi số đó thành dạng ký tự. Ví dụ: 124 là mot hai bon.

Chương trình C để chuyển đổi số thập phân thành dạng ký tự

Mình sử dụng vòng lặp while và switch-case để giải bài toán này.

#include<stdio.h>  
#include<conio.h>  

main()  
{  
long int n,sum=0,r;  
 
printf("Nhap mot so bat ky = \n");  
scanf("%ld",&n);  
while(n>0)  
{  
r=n%10;  
sum=sum*10+r;  
n=n/10;  
}  
n=sum;  
while(n>0)  
{  
r=n%10;  
switch(r)  
{  
case 1:  
printf("mot ");  
break;  
case 2:  
printf("hai ");  
break;  
case 3:  
printf("ba ");  
break;  
case 4:  
printf("bon ");  
break;  
case 5:  
printf("nam ");  
break;  
case 6:  
printf("sau ");  
break;  
case 7:  
printf("bay ");  
break;  
case 8:  
printf("tam ");  
break;  
case 9:  
printf("chin ");  
break;  
case 0:  
printf("khong ");  
break;  
default:  
printf("\nVietJack xin chao cac ban!");  
break;  
}  
n=n/10;  
}  

printf("\n\n===========================\n");
printf("VietJack chuc cac ban hoc tot!");
getch();  
}  

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Chuyển đổi số thành ký tự trong C