Software & Finance





C# Reverse Number





 

I have given here C# code to reverse a given number. It counts the digits and then it uses / and % operators and simple multiplication to reverse the number.

 

 

Source Code


using System;

using System.Collections.Generic;

using System.Text;

 

namespace ReverseNumber

{

   class ReverseNumber

   {

      static int CountNumberOfDigits_UsingLog(int number)

      {

         return (int)(Math.Log10((double)number) + 1);

      }

 

      static int CountNumberOfDigits(int number)

      {

         int numdgits = 0;

         do

         {

            number = number / 10;

            numdgits++;

         } while (number > 0);

         return numdgits;

      }

 

      static void Main(string[] args)

      {

         System.Console.WriteLine("\nProgram to find the reverse of a number. Enter -1 to exit");

         while (true)

         {

            System.Console.Write("Enter a Number (-1 to exit): ");

            string input = System.Console.ReadLine();

            int n = 0;

            try

            {

               n = Convert.ToInt32(input);

            }

            catch (System.Exception ex)

            {

               System.Console.WriteLine("Error in the input format\n\n");

               continue;

            }

 

            if (n < 0)

               break;

            int number = n;

 

            int numdigits = CountNumberOfDigits(number);

 

            System.Console.WriteLine("\nNumber of digits in " + number.ToString() + "is : " + numdigits.ToString());

            int result = 0;

            for (int i = 0; i < numdigits; i++)

            {

               result *= 10;

               result += n % 10;

               n = n / 10;

            }

            System.Console.WriteLine("\nThe reverse of number " + number.ToString() + "is : " + result.ToString());

         }

      }

   }

}

Output