สมมติว่าเรามีสองหลัก a และ b เราจะต้องแปลงตัวเลขแต่ละหลักเป็นคำและพิมพ์ทีละตัว การพิมพ์ตัวเลขเป็นคำหมายถึงเลข 5 ควรพิมพ์ "Five"
ดังนั้น หากอินพุตเป็น a =3, b =8 ผลลัพธ์จะเป็น
- สาม
- สี่
- ห้า
- หก
- เซเว่น
- แปด
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
กำหนดฟังก์ชัน Solve() ซึ่งจะใช้เวลา d
- ถ้า 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 <stdio.h> void solve(int d){ if(d < 0 && d > 9){ printf("Beyond range of 0 - 9"); }else if(d == 0){ printf("Zero"); }else if(d == 1){ printf("One"); }else if(d == 2){ printf("Two"); }else if(d == 3){ printf("Three"); }else if(d == 4){ printf("Four"); }else if(d == 5){ printf("Five"); }else if(d == 6){ printf("Six"); }else if(d == 7){ printf("Seven"); }else if(d == 8){ printf("Eight"); }else if(d == 9){ printf("Nine"); } } int main(){ int a = 3, b = 8; for(int i = a; i <= b; i++){ solve(i); printf("\n"); } }
อินพุต
3, 8
ผลลัพธ์
Three Four Five Six Seven Eight