عدد به حروف ۲
سوال
برنامه ای بنویسید که یک عدد صحیح نهایتا ۱۲ رقمی از ورودی گرفته سپس آن را به حروف تبدیل کرده و در خروجی نمایش دهد.
ورودی
ورودی شامل یک عدد صحیح n می باشد.۱le n le 9999999999991≤n≤۹۹۹۹۹۹۹۹۹۹۹۹
خروجی
خروجی برنامه نمایش به حروف عدد ورودی میباشد. شرایط مسئله همانند مسئله عدد به حروف ۱ میباشد. دیکته کلمات جدید در ادامه آمدهاند.
عدد |
متن فینگیلیش |
---|---|
۱۰۰۰ |
Hezar |
۱۰۰۰۰۰۰ |
Million |
۱۰۰۰۰۰۰۰۰۰ |
Milliard |
# مثال |
ورودی نمونه ۱
1 |
۹۶۷۳۰۰۲۳۴۹۱۲ |
خروجی نمونه ۱
Nohsad O Shast O Haft Milliard O Sisad Million O Devist O Si O Chahar Hezar O Nohsad O Dava
در حال بررسی
0
انجمن برنامه نویسان سی شارپ
4 سال
1 پاسخ
409 دیده شده
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;
}