Loạn hết cả lên, “năm” với chả “lăm”. Đành tự theo quy tắc của mình vậy.
Cứ có “mươi” or “mười” auto “lăm”, còn lại là “năm”.
Vẫn là nhờ các đại ca tìm hộ xem có sai sót gì không.
Link https://ideone.com/QObiib.
Challenge: Đọc số và viết số
1000005 in words is: Mot Trieu Khong Tram Linh Lam
“Linh Năm” mà bạn ơi
Vì ở trên của test đại ca thì cái này nó k in đậm cứ nghĩ là đúng r chứ.
quẹt thiếu :V do test bằng mắt nên ko chính xác hết :V để sửa lại
cách test tốt nhất là viết 1 cái hàm test case nho nhỏ rồi chạy 1 cái test suite bao gồm nhiều test cases và thống kê lại fail bao nhiêu cái, fail cái nào, expected là gì mà output là gì cho biết :V
Cái nào đúng vậy:
-
5015110 in words is: Nam Trieu Khong Tram Muoi Nam Nghin Mot Tram Muoi
-
5015110 in words is: Nam Trieu Khong Tram Muoi Lam Nghin Mot Tram Muoi
Phân vân quá @@, e nghĩ là cái đầu.
cái thứ 2 chứ, 15 đọc là mười lăm mà :V
giờ mới phát hiện ra nhiều người đọc mười năm, hai mươi năm, ko hiểu :V
5xx: năm trăm
x5x: năm mươi
x05: linh năm
x15: mười lăm
xy5: y mươi lăm (2 <= y <= 9)
5: năm :V
vậy chắc ổn rồi đó
nếu được thì 1’000’001 thêm “không nghìn” thành “một triệu không nghìn không trăm linh một” được ko :V Tự dưng có “không trăm” mà ko có “không nghìn” thấy kì kì. Nếu thiếu 1 cái thì đáng lẽ đọc là “một triệu linh một” luôn cho rồi :V
tiếp theo là cho đọc có dấu đi. Muoi phải phân biệt mười với mươi, một phải phân biệt một với mốt cho vui :V
tiếp theo nữa cho option đặt dấu phẩy giữa 3 số, ví dụ 1’000’001 đọc là “một triệu, không nghìn, không trăm linh một” hoặc option đặt dấu phẩy giữa 9 số: 11’000’000’001 là “mười một tỷ, không triệu không nghìn không trăm linh một”
tiếp theo cho option chọn giữa “tỷ” với “tỉ”, “bốn” với “tư”, “nghìn” với “ngàn”, “linh” với “lẻ”, v.v… :V
tiếp theo cho phép đọc tắt chữ mươi :V hai mươi lăm thành hai nhăm hay hai lăm, 35 thành ba lăm, 53 thay vì năm mươi ba thì đọc tắt là năm ba
tiếp theo tạo option cho sẵn: option đọc đầy đủ (không triệu không nghìn không trăm) hoặc đọc ngắn nhất (tiết kiệm dòng, mực in :V) bốn -> tư, tỷ -> tỉ, linh -> lẻ, đọc tắt chữ mươi v.v…
Thế chắc k đủ if
mất, đề cho có 7 if
.
Cơ mà đọc song post của đại ca e cũng tróng mặt mất r.
thì tự tạo challenge khác bỏ cái challenge củ chuối này đi
Sao lại thế
Bạn tạm thời quên yêu cầu 7 if đã, sau đó tối ưu if sau
tiếp theo em tạo 1 trang web tĩnh chỉ có 1 ô nhập vào số rồi nó sẽ đọc thành chữ, thêm option vào kế bên để nó đọc dài hay ngắn, bỏ luôn thằng C đi
nếu em vẫn thích thằng C nhưng muốn bưng lên web thì em down cái emscripten về rồi compile C thành JS, chém gió trình cao hơn nữa
code C này cần làm 2 điều nữa :V
1 là phải free chuỗi được hàm d2w(s)
trả về :V :V
2 là tham số d2w
nhận vào nên là hằng, để ví dụ gọi d2w("12")
được. Hiện tại d2w
thay đổi nội dung tham số s
truyền vào là ko ổn :V
cái nào là hằng số thì để là hằng số (hằng chuỗi). Ví dụ
char oneDigit[][10] = {"Không", "Một", "Hai", ...
thì oneDigit[i]
là hằng chuỗi thì nên khai báo nó là hằng chuỗi :V
const char* oneDigit[] = {"Không", "Một", "Hai", ...
Chắc là ổn r, nhờ đại ca tối ưu if
nữa là ok.
9 if + 1 switch
https://7121712.xyz/doc-so-thanh-chu/main.cpp 17 if
xài thử: https://7121712.xyz/doc-so-thanh-chu/
compile emscripten có int main()
https://7121712.xyz/doc-so-thanh-chu.exe/main.cpp
https://7121712.xyz/doc-so-thanh-chu.exe/ <-- bấm Cancel 2 lần để dừng chương trình
Không cần if
nào:
while(điều_kiện){
biểu_thức;
break;
}
Ăn gian.
Bùm