Chào các bạn, lâu lắm rồi mình chưa viết bài
Sau khi lướt 1 vòng quanh fb, mình có thấy câu hỏi của bạn Huy Bùi về nhập vào một số có tối đa 2 chữ số, và hãy nêu cách đọc của 2 chữ số đó
VD: 12 -> mười hai, 5 -> năm
Nếu theo cách bình thường, các bạn phải dùng switch case từ 1 -> 99 rất lâu
Vậy mình đã nảy sinh ra ý tưởng, nếu số có 2 chữ số trở lên ta dùng chia hết và chia dư cho 10 để tách các chữ số trong số, sau đó dùng lệnh switch case đọc từng chữ số, ghép lại ta sẽ có cách đọc hoàn chỉnh
VD: 12 [mười][hai]
Vậy nếu có 1 chữ số ta dùng lệnh if kiểm tra, dùng switch case cho th có 1 chữ số
Ở số 10[mười] thuộc TH đặc biệt các bạn nên dùng lệnh if riêng, nếu không thì chương trình sẽ ghi là một mười, rất xấu
Đồng thời, ta dùng lệnh if để kiểm tra xem số ta nhập có tối đa 2 chữ số không, nếu không sẽ yêu cầu người dùng nhập lại
Đây là đoạn code mẫu, các bạn tham khảo: #include
int main [] {
int n, i;
do{
printf["Vui long nhap vao day so n co toi da 2 chu so can doc:"];
scanf["%d", &n];}
while[n >= 100];
if[n >= 0 && n < 10] {
switch[n]{
case 0: printf["Khong"];break;
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;}}
if[n == 10] {
printf["Muoi"];}
if [n > 10 && n < 100] {
int mot = n / 10;
int hai = n % 10;
switch[mot]{
case 0: printf["Khong "]; break;
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;}
switch[hai] {
case 0: printf["muoi"]; break;
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;} }
}
#include int n, i; void motchuso[int n] { switch[n]{ case 0: printf["Khong"];break; 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;} } void haichuso[int n] { int mot = n / 10; int hai = n % 10; switch[mot]{ case 0: printf["Khong "]; break; 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;} switch[hai] { case 0: printf["muoi"]; break; 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;} } int main [] { do { printf["Vui long nhap vao day so n co toi da 2 chu so can doc:"]; scanf["%d", &n];} while[n >= 100]; if[n >= 0 && n < 10] { motchuso[n];} if[n == 10] { printf["Muoi"];} if [n > 10 && n < 100] { haichuso[n]; } }
Chúc các bạn thành công, nếu không hiểu cứ bình luận, mình sẽ giúpViết chương trình nhập 1 số có 2 chữ số.In ra màn hình tổng các chữ số trong số đó.
Bài 20. Viết chương trình nhập vào 1 số từ 0 đến 9, in ra chữ số tương ứng. ví dụ nhập số 5, in ra chữ “Năm”. Code c:#include int main[] { int so; printf["Nhap so: "]; scanf["%d", &so]; switch[so] { case 0: printf["Khong"]; break; 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; default: printf["So da nhap khong hop le!"]; } } |