Câu hỏi:

14/03/2023 271

Viết chương trình nhập 1 số nguyên, xuất ra dạng chữ

Siêu phẩm 30 đề thi thử THPT quốc gia 2024 do thầy cô VietJack biên soạn, chỉ từ 100k trên Shopee Mall.

Mua ngay

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Viết bằng ngôn ngữ C#:

// code đọc số thành chữ

#define MXLEN 64

 // hàm nhận số và ghi cách đọc vào chuỗi ds

     char *DocSo(char *ds, int so)

    {

        char *kh [] = { "", "ngàn", "triệu", "tỷ" }; // các khoản 3 chữ số

        if (so == 0)

            return Doc3So(ds, so, 0);

        char d3s[MXLEN]; // chuỗi để đọc 3 chữ số

        int kilo = 0; // hàng ngàn

        while (so > 0)

        {

            Doc3So(d3s, so % 1000, so / 1000);

            if (strlen(ds) == 0)

                strcpy(ds, (strcmp(d3s,"không")) ? d3s : "chẵn");

            else if (strcmp(d3s,"không") || strcmp(ds,"chẵn"))

                strcpy(ds, strcat(strcat(strcat(strcat(d3s, " "), kh[kilo]), " "), ds));

                // tức là ds = d3s + " " + kh[kilo] + " " + ds;

            kilo++;

            so /= 1000;

        }

        return ds;

    }

 

    char *Doc3So(char *ds, int so, int truoc) // truoc: số có phần đi trước nó hay không

    {

        char *doc[] = { "không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín" };

        if (so == 0)

        {

            strcpy(ds, doc[0]);

            return ds;

        }

        int donvi = so % 10;

        int chuc = (so / 10) % 10;

        int tram = (so / 100) % 10;

        if (truoc != 0 || tram != 0)

        {

            strcat(strcpy(ds, doc[so / 100]), " trăm");

            // tức là ds = doc[so / 100] + " trăm";

            if (chuc == 0 && donvi != 0) strcat(ds, " lẻ");

        }

        if (chuc == 1) strcat(ds, " mười");

        else if (chuc > 1) strcat(strcat(strcat(ds, " "), doc[chuc]), " mươi");

                          // tức là x += " " + doc[chuc] + " mươi";

        if (chuc != 0 && donvi == 5) strcat(ds, " lăm");

        else if (donvi != 0) strcat(strcat(ds, " "), doc[donvi]);

        return ds;

    }

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím.

Định nghĩa giai thừa: giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1.

Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320.

Có 2 cách để viết chương trình tính giai thừa trong python:

· Tính giai thừa không sử dụng hàm đệ quy

· Tính giai thừa có sử dụng hàm đệ quy

Xem đáp án » 14/03/2023 4,369

Câu 2:

Siêu văn bản là gì?

Xem đáp án » 14/03/2023 3,252

Câu 3:

Khóa chính của bảng thường được chọn theo tiêu chí nào?

Xem đáp án » 13/03/2023 3,016

Câu 4:

Mỗi mật khẩu máy tính gồm 6 kí tự, mỗi kí tự hoặc là một chữa cái hoặc là một chữ số và mật khẩu phải có ít nhất một chữ số. Hỏi lập được bao nhiêu mật khẩu?

Xem đáp án » 13/03/2023 1,894

Câu 5:

Viết chương trình nhập vào họ tên của một người. Sau đó in chuỗi họ tên ra màn hình với các ký tự đầu đổi thành chữ hoa, toàn bộ chuỗi họ và tên đổi thành chữ hoa.

Xem đáp án » 12/03/2023 1,597

Câu 6:

Các tên biến nào dưới đây là hợp lệ trong Python?

A. _name

B. 12abc

C. My country

D. m123&b

E. xyzABC

Xem đáp án » 12/03/2023 1,376

Câu 7:

Viết chương trình giải phương trình bậc 2 trong Python. Phương trình bậc 2 có dạng: ax2+ bx+c=0.

Xem đáp án » 14/03/2023 1,199

Bình luận


Bình luận