สมมติว่าเรามีสองหลัก 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