Напечатать десятичную запись заданного натурального числа n > 0 в обратном порядке - C#
Формулировка задачи:
Помогите исправить код, пожалуйста.
Сама задача:
"Разрешим использовать команды вывода на экран лишь при i = 0,1,2,...,9. Составить программу, печатающую десятичную запись заданного натурального числа n > 0 в обратном порядке. (Для n = 173 надо напечатать 371.) Случай n = 0 явился бы некоторым исключением, так как обычно нули в начале числа не печатаются, а для n = 0 - печатаются.)"
static void Main(string[] args)
{
int d;
Console.Write("Введите n: ");
string a = Console.ReadLine();
int n = Convert.ToInt32(Console.ReadLine());
Console.Write("Вывод: n = ");
if (n == 0) Console.Write(n);
else
{
for (int i = 0; i < a.Length; i++)
{
if (a.Length > 9)
{
Console.Write("длина числа превышает допустимую для вывода");
break;
}
else
do
{
n = Math.DivRem(n, 10, out d);
Console.Write(d);
}
while (n != 0);
}
}
Console.ReadKey();
}
}
}Решение задачи: «Напечатать десятичную запись заданного натурального числа n > 0 в обратном порядке»
textual
Листинг программы
static void Main(string[] args)
{
const int MaxLength = 9;
Console.Write("Введите n: ");
int n = int.Parse(Console.ReadLine());
if (n < 0)
{
Console.Write('-');
n = -n;
}
if (n < 10)
Console.Write(n);
else
{
for (int i = 0; n != 0; i++)
{
if (i == MaxLength)
throw new Exception("To big number");
Console.Write(n % 10);
n /= 10;
}
}
Console.ReadKey(true);
}