Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
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 2:
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
Câu 6:
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?
về câu hỏi!