عدد به حروف ۲

سوال
برنامه ای بنویسید که یک عدد صحیح نهایتا ۱۲ رقمی از ورودی گرفته سپس آن را به حروف تبدیل کرده و در خروجی نمایش دهد.
ورودی
ورودی شامل یک عدد صحیح n می باشد.۱le n le 9999999999991n۹۹۹۹۹۹۹۹۹۹۹۹
خروجی
خروجی برنامه‌ نمایش به حروف عدد ورودی می‌باشد. شرایط مسئله همانند مسئله عدد به حروف ۱ می‌باشد. دیکته کلمات جدید در ادامه آمده‌اند.
عدد
متن فینگیلیش
۱۰۰۰
Hezar
۱۰۰۰۰۰۰
Million
۱۰۰۰۰۰۰۰۰۰
Milliard
# مثال
ورودی نمونه ۱

خروجی نمونه ۱
Nohsad O Shast O Haft Milliard O Sisad Million O Devist O Si O Chahar Hezar O Nohsad O Dava
در حال بررسی 0
behrad 9 ماه 1 پاسخ 112 دیده شده 1

پاسخ ( ۱ )

  1. static void Main(string[] args)
    {
    Console.WriteLine(“enter number”);
    int n = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine(convertNumberToWords(n));
    }

    public static string convertNumberToWords(int number)
    {
    if (number == 0)
    return “sefr”;

    if (number < 0) return “minus ” + convertNumberToWords(Math.Abs(number)); string words = “”; if ((number / 1000000) > 0)
    {
    words += convertNumberToWords(number / 1000000) + ” million “;
    number %= 1000000;
    }

    if ((number / 1000) > 0)
    {
    words += convertNumberToWords(number / 1000) + ” hezar “;
    number %= 1000;
    }

    if ((number / 100) > 0)
    {
    words += convertNumberToWords(number / 100) + ” sad”;
    number %= 100;
    }

    if (number > 0)
    {
    if (words != “”)
    words += “o”;

    var unit = new[] { “sefr”, “yek”, “do”, “se”, “chahar”, “panj”, “shesh”, “haft”, “hasht”, “noh”, “dah”, “yazdah”, “davazdah”, “sizdah”, “chahardah”, “panzdah”, “shanzdah”, “hefdah”, “hejdah”, “noozdah” };
    var ten = new[] { “sefr”, “dah”, “bist”, “see”, “chehel”, “panjah”, “shast”, “haftad”, “hashtad”, “navad” };

    if (number < 20) words += unit[number]; else { words += ten[number / 10]; if ((number % 10) > 0)
    words += unit[number % 10];
    }
    }

    return words;
    }

ارسال یک پاسخ