Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C แปลงตัวเลขเป็นคำภาษาอังกฤษด้วยลูป for


คำอธิบายปัญหา

สมมติว่าเรามีตัวเลข 2 ตัว a และ b เราต้องแปลงตัวเลขแต่ละตัวในช่วง a ถึง b เป็นคำภาษาอังกฤษและพิมพ์ทีละบรรทัด เช่น ตัวเลข 5 จะพิมพ์ "Five"

ตัวอย่าง

หากอินพุตเป็น a = 3, b = 8 ผลลัพธ์จะเป็น:

  • Three
  • Four
  • Five
  • Six
  • Seven
  • Eight

ขั้นตอนการแก้ปัญหา

  1. นิยามฟังก์ชัน solve(d) ที่รับตัวเลข d:
    • ถ้า d < 0 หรือ d > 9 คืน "Beyond range of 0 - 9"
    • ใช้ if-else chain ตรวจสอบ d เท่ากับ 0-9 คืนคำอังกฤษที่ตรงกัน
  2. ใน main วนลูป for จาก a ถึง b เรียก solve(i) แล้วพิมพ์ newline

โค้ดตัวอย่าง

#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");
    }
    return 0;
}

อินพุต

3, 8

เอาต์พุต

Three
Four
Five
Six
Seven
Eight