using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication19
{
class Program
{
static void Main(string[] args)
{
//第一步输入三个信息
Console.Write("请输入你要转换的数字:");
string s = Console.ReadLine();
Console.Write("请输入你输入的进制类型:");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入你要转换成的进制:");
double b = double.Parse(Console.ReadLine());
//第二步,其他进制转十进制
double sum = 0;
for (int i = 0; i < s.Length; i++)//for,初始条件是从0开始,到字符串的长度为止,顺着字符串索引在一步步走
{
double mws = 0;
string zimu = s.Substring(i, 1);
if (zimu == "A")
{
mws = 10;
}
else if (zimu == "B")
{
mws = 11;
}
else if (zimu == "C")
{
mws = 12;
}
else if (zimu == "D")
{
mws = 13;
}
else if (zimu == "E")
{
mws = 14;
}
else if (zimu == "F")
{
mws = 15;
}
else
{
mws = double.Parse(zimu);
}
double zhishu = s.Length - 1 - i;
sum += mws * Math.Pow(a,zhishu);
}
Console.WriteLine(sum);
//第三步,十进制转其他进制
string jieguo = "";
while (true)
{
if (sum / b >= 1)
{
double yushu = sum % b;//取余数
if (yushu >= 10)
{
if (yushu == 10)
{
jieguo = "A" + jieguo;
}
if (yushu == 11)
{
jieguo = "B" + jieguo;
}
if (yushu == 12)
{
jieguo = "C" + jieguo;
}
if (yushu == 13)
{
jieguo = "D" + jieguo;
}
if (yushu == 14)
{
jieguo = "E" + jieguo;
}
if (yushu == 15)
{
jieguo = "F" + jieguo;
}
}
else
{
jieguo = yushu.ToString() + jieguo;
}
}
else//当除到sum比b小的时候,直接把sum加到结果字符串中
{
if (sum >= 10)
{
if (sum == 10)
{
jieguo = "A" + jieguo;
}
if (sum == 11)
{
jieguo = "B" + jieguo;
}
if (sum == 12)
{
jieguo = "C" + jieguo;
}
if (sum == 13)
{
jieguo = "D" + jieguo;
}
if (sum == 14)
{
jieguo = "E" + jieguo;
}
if (sum == 15)
{
jieguo = "F" + jieguo;
}
}
else
{
jieguo = sum.ToString() + jieguo;
}
break;
}
sum = (int)(sum / b);
}
Console.WriteLine(jieguo);
Console.ReadLine();
}
}
}