Advertisement
Guest User

nums to words

a guest
Jun 13th, 2017
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.44 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _07_Numbers_to_Words
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.  
  15.             for (int cycle = 0; cycle < n; cycle++)
  16.             {
  17.                 int number = int.Parse(Console.ReadLine());
  18.                 if (number > 999) Console.WriteLine("too large");
  19.                 else if (number < -999) Console.WriteLine("too small");
  20.                 else if (number < 100 && number > 0 || -100 < number && number < 0) continue;
  21.                 else Console.WriteLine(DigitToWord(number));
  22.             }
  23.         }
  24.  
  25.         static string DigitToWord(int number)
  26.         {
  27.             string result = string.Empty;
  28.             int thirdDigit = Math.Abs(number / 100);
  29.             int secondDigit = Math.Abs((number / 10) % 10);
  30.             int firstDigit = Math.Abs(number % 10);
  31.  
  32.             if (number < 0) result += "minus ";
  33.  
  34.             switch (thirdDigit)
  35.             {
  36.                 case 1: result += "one-hundred "; break;
  37.                 case 2: result += "two-hundred "; break;
  38.                 case 3: result += "three-hundred "; break;
  39.                 case 4: result += "four-hundred "; break;
  40.                 case 5: result += "five-hundred "; break;
  41.                 case 6: result += "six-hundred "; break;
  42.                 case 7: result += "seven-hundred "; break;
  43.                 case 8: result += "eight-hundred "; break;
  44.                 case 9: result += "nine-hundred "; break;
  45.             }
  46.             switch (secondDigit)
  47.             {
  48.                 case 0: break;
  49.                 case 1:
  50.                     switch (firstDigit)
  51.                     {
  52.                         case 0: result += "and ten"; break;
  53.                         case 1: result += "and eleven"; break;
  54.                         case 2: result += "and twelve"; break;
  55.                         case 3: result += "and thirteen"; break;
  56.                         case 4: result += "and fourteen"; break;
  57.                         case 5: result += "and fifteen"; break;
  58.                         case 6: result += "and sixteen"; break;
  59.                         case 7: result += "and seventeen"; break;
  60.                         case 8: result += "and eighteen"; break;
  61.                         case 9: result += "and nineteen"; break;
  62.                     }
  63.                     break;
  64.                 case 2: result += "and twenty "; break;
  65.                 case 3: result += "and thirty "; break;
  66.                 case 4: result += "and forty "; break;
  67.                 case 5: result += "and fifty "; break;
  68.                 case 6: result += "and sixty "; break;
  69.                 case 7: result += "and seventy "; break;
  70.                 case 8: result += "and eighty "; break;
  71.                 case 9: result += "and ninety "; break;
  72.             }
  73.  
  74.             if (secondDigit != 1 && firstDigit != 0)
  75.             {
  76.                 if (secondDigit == 0)
  77.                 {
  78.                     switch (firstDigit)
  79.                     {
  80.                         case 1: result += "and one"; break;
  81.                         case 2: result += "and two"; break;
  82.                         case 3: result += "and three"; break;
  83.                         case 4: result += "and four"; break;
  84.                         case 5: result += "and five"; break;
  85.                         case 6: result += "and six"; break;
  86.                         case 7: result += "and seven"; break;
  87.                         case 8: result += "and eight"; break;
  88.                         case 9: result += "and nine"; break;
  89.                     }
  90.                 }
  91.                 else
  92.                 {
  93.                     switch (firstDigit)
  94.                     {
  95.                         case 1: result += "one"; break;
  96.                         case 2: result += "two"; break;
  97.                         case 3: result += "three"; break;
  98.                         case 4: result += "four"; break;
  99.                         case 5: result += "five"; break;
  100.                         case 6: result += "six"; break;
  101.                         case 7: result += "seven"; break;
  102.                         case 8: result += "eight"; break;
  103.                         case 9: result += "nine"; break;
  104.                     }
  105.                 }
  106.                
  107.             }
  108.             return result;
  109.         }
  110.     }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement