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

โปรแกรม C# แปลงตัวเลขเป็นคำอ่าน

แปลงแต่ละหลักของเลขเป็นคำอ่านภาษาอังกฤษ (zero, one, two...)

อัลกอริทึม

  1. เตรียมอาร์เรย์คำอ่าน 0-9
  2. แยกแต่ละหลักด้วย modulo 10 และหาร 10
  3. เก็บหลักต่างๆ ในอาร์เรย์ (ได้ลำดับกลับ)
  4. พิมพ์จากหลังมาหน้า

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

using System;
using System.Collections.Generic;
using System.Text;
namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            int val, next, num_digits;
            int[] a = new int[10];
            // คำอ่าน 0-9
            string[] digits_words = {
                "zero", "one", "two", "three", "four",
                "five", "six", "seven", "eight", "nine"
            };
            val = 4677;
            Console.WriteLine("Number: " + val);
            Console.Write("Number (words): ");
            next = 0;
            num_digits = 0;
            do {
                next = val % 10;
                a[num_digits] = next;
                num_digits++;
                val = val / 10;
            } while (val > 0);
            num_digits--;
            for (; num_digits >= 0; num_digits--)
                Console.Write(digits_words[a[num_digits]] + " ");
            Console.ReadLine();
        }
    }
}

ผลลัพธ์

Number: 4677
Number (words): four six seven seven

หมายเหตุ: โค้ดนี้อ่านทีละหลัก (digit by digit) ไม่ใช่แปลงเป็นคำอ่านเต็ม (four thousand six hundred seventy seven)