Chuyển đổi một số thành chuỗi số tiếng Anh trong C
Trong lập trình, đôi khi mình cần chuyển đổi một số thành chuỗi số tiếng Anh để hiển thị dễ đọc và hiểu được hơn. Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để thực hiện việc này.

Chương trình chuyển đổi một số thành chuỗi số tiếng Anh trong C
Phương pháp giải quyết bài lập trình
- Mình sẽ sử dụng một mảng hai chiều để lưu trữ các chuỗi tiếng Anh tương ứng với các chữ số.
 - Sau đó, mình sẽ chia nhỏ số cần chuyển đổi thành các chữ số riêng lẻ và lấy từng chữ số để lấy ra chuỗi tương ứng trong mảng đã định nghĩa.
 
Hãy xem cách giải như sau:
Dưới đây là một ví dụ về cách cài đặt chuyển đổi một số thành chuỗi số tiếng Anh trong ngôn ngữ lập trình C:
Bài viết này được đăng tại [free tuts .net]
#include <stdio.h>
#include <string.h>
// Mảng lưu trữ các chuỗi tiếng Anh tương ứng với các chữ số
char *units[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
char *tens[] = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
char *teens[] = {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
// Hàm chuyển đổi số thành chuỗi số tiếng Anh
void numberToWords(int num) {
    if (num < 0 || num > 9999) {
        printf("Out of range\n");
        return;
    }
    // Chia nhỏ số thành các chữ số riêng lẻ
    int thousands = num / 1000;
    int hundreds = (num / 100) % 10;
    int tens_digit = (num / 10) % 10;
    int units_digit = num % 10;
    // In ra chuỗi số tiếng Anh tương ứng
    if (thousands > 0) {
        printf("%s thousand ", units[thousands]);
    }
    if (hundreds > 0) {
        printf("%s hundred ", units[hundreds]);
    }
    if (tens_digit == 1) {
        printf("%s\n", teens[units_digit]);
    } else {
        if (tens_digit > 1) {
            printf("%s ", tens[tens_digit]);
        }
        if (units_digit > 0) {
            printf("%s\n", units[units_digit]);
        } else {
            printf("\n");
        }
    }
}
int main() {
    int num;
    // Nhập số từ người dùng từ freetuts.net
    printf("Nhập một số (từ 0 đến 9999): ");
    scanf("%d", &num);
    // Chuyển đổi số thành chuỗi số tiếng Anh và in kết quả
    printf("Chuỗi số tiếng Anh: ");
    numberToWords(num);
    return 0;
}
Kết quả
Khi chạy chương trình và nhập một số từ người dùng, chương trình sẽ chuyển đổi số đó thành chuỗi số tiếng Anh và hiển thị kết quả:
Nhập một số (từ 0 đến 9999): 1234 Chuỗi số tiếng Anh: one thousand two hundred thirty four
Trong bài tập này, mình đã viết một chương trình trong ngôn ngữ lập trình C để chuyển đổi một số thành chuỗi số tiếng Anh. Điều này giúp mình hiểu rõ hơn về cách thực hiện chuyển đổi số sang chuỗi và làm việc với mảng trong C.

            Các kiểu dữ liệu trong C ( int - float - double - char ...)        
            Thuật toán tìm ước chung lớn nhất trong C/C++        
            Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)        
            ComboBox - ListBox trong lập trình C# winforms        
            Random trong Python: Tạo số random ngẫu nhiên        
            Lệnh cin và cout trong C++        
                Cách khai báo biến trong PHP, các loại biến thường gặp            
                Download và cài đặt Vertrigo Server            
                Thẻ li trong HTML            
                Thẻ article trong HTML5            
                Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên            
                Cách dùng thẻ img trong HTML và các thuộc tính của img            
                Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng