สมมติว่าเรามีสองหลัก a และ b เราจะต้องแปลงตัวเลขแต่ละหลักเป็นคำและพิมพ์ทีละตัว การพิมพ์ตัวเลขเป็นคำหมายถึงเลข 5 ควรพิมพ์ "Five"
ดังนั้น หากอินพุตเป็น a =2, b =6 ผลลัพธ์จะเป็น
Two Three Four Five Six
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า d <0 และ d> 9 แล้ว:
- ผลตอบแทน ("เกินช่วง 0 - 9")
- มิฉะนั้น เมื่อ d เท่ากับ 0 แล้ว:
- ผลตอบแทน ("ศูนย์")
- มิฉะนั้น เมื่อ d เท่ากับ 1 แล้ว:
- คืน ("หนึ่ง")
- มิฉะนั้นเมื่อ d เท่ากับ 2 แล้ว:
- คืน ("สอง")
- มิฉะนั้น เมื่อ d เท่ากับ 3 แล้ว:
- ผลตอบแทน ("สาม")
- มิฉะนั้น เมื่อ d เท่ากับ 4 แล้ว:
- ผลตอบแทน ("สี่")
- มิฉะนั้น เมื่อ d เท่ากับ 5 แล้ว:
- ผลตอบแทน ("ห้า")
- มิฉะนั้น เมื่อ d เท่ากับ 6 แล้ว:
- ผลตอบแทน ("หก")
- มิฉะนั้น เมื่อ d เท่ากับ 7 แล้ว:
- คืน ("เซเว่น")
- มิฉะนั้น เมื่อ d เท่ากับ 8 แล้ว:
- กลับ ("แปด")
- มิฉะนั้น เมื่อ d เท่ากับ 9 แล้ว:
- กลับ ("เก้า")
- จากวิธีหลัก ให้ทำดังนี้:
- สำหรับฉันอยู่ในช่วง a ต้องทำ
- แก้(i)
- เลื่อนเคอร์เซอร์ไปที่บรรทัดถัดไป
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#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;
}
}
อินพุต
2, 6
ผลลัพธ์
Two Three Four Five Six