Giả sử chúng ta có hai chữ số a và b. Chúng ta sẽ phải chuyển từng chữ số thành các từ và in chúng ra từng chữ một. Việc in các chữ số thành các từ có nghĩa là đối với chữ số 5, nó phải in "Năm".
Vì vậy, nếu đầu vào là a =2, b =6, thì đầu ra sẽ là
Two Three Four Five Six
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu d <0 và d> 9, thì:
- return ("Ngoài phạm vi 0 - 9")
- ngược lại khi d giống 0 thì:
- return ("Không")
- ngược lại khi d giống 1 thì:
- return ("Một")
- ngược lại khi d giống 2 thì:
- return ("Hai")
- ngược lại khi d giống 3 thì:
- return ("Ba")
- ngược lại khi d giống với 4 thì:
- return ("Bốn")
- ngược lại khi d giống với 5 thì:
- return ("Năm")
- ngược lại khi d giống với 6 thì:
- return ("Sáu")
- ngược lại khi d giống với 7 thì:
- return ("Bảy")
- ngược lại khi d giống với 8 thì:
- return ("Tám")
- ngược lại khi d giống với 9 thì:
- return ("Chín")
- Từ phương thức chính, hãy thực hiện như sau:
- đối với tôi trong phạm vi a là được, thực hiện
- giải quyết (i)
- di chuyển con trỏ đến dòng tiếp theo
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <iostream> using namespace std; void solve(int d){ if(d < 0 || d > 9){ cout << "Beyond range of 0 - 9"; }else if(d == 0){ cout << "Zero"; }else if(d == 1){ cout << "One"; }else if(d == 2){ cout << "Two"; }else if(d == 3){ cout << "Three"; }else if(d == 4){ cout << "Four"; }else if(d == 5){ cout << "Five"; }else if(d == 6){ cout << "Six"; }else if(d == 7){ cout << "Seven"; }else if(d == 8){ cout << "Eight"; }else if(d == 9){ cout << "Nine"; } } int main(){ int a = 2, b = 6; for(int i = a; i <= b; i++){ solve(i); cout << endl; } }
Đầu vào
2, 6
Đầu ra
Two Three Four Five Six