一道面试题: Convert an integer to a string following the rule of :
1-> A
2-> B
...
26-> Z
27-> AA
28-> AB
...
703-> AAA
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IntegerToChar
{
class Program
{
static void Main(string[] args)
{
Dictionary<int, char> intToChar = new Dictionary<int, char>();
for (int i = 1, j=65; i <= 26; i++, j++)
{
intToChar.Add(i, (char)j);
}
if (args != null && args.Length == 1)
{
int raw = int.Parse(args[0]);
if(raw==0)
{
Console.WriteLine("Please input nonzero parameter like IntegerToChar 123.");
return;
}
int input = Math.Abs(raw);
int quotient=0;
int remainder=0;
StringBuilder sb = new StringBuilder();
do
{
quotient = input / 26;
remainder = input % 26;
sb.Append(intToChar[remainder]);
input = quotient;
}
while (quotient != 0);
string output=raw>0?sb.ToString():"-"+sb.ToString();
Console.WriteLine("The integer {0} convert to string {1}", raw, output);
}
else
{
Console.WriteLine("Please input correct parameter like IntegerToChar 123.");
}
}
}
}