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