int i,n=0;
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
n=n*16+s[i]-'0';
if(s[i]>='a'&&s[i]<='f')
n=n*16+s[i]-'a'+10;
if(s[i]>='A'&&s[i]<='F')
n=n*16+s[i]-'A'+10;
}
其他的自己去补充:思路就是把输入的十六进制数以字符的形式存入字符数组!~然后用一个for循环来转化为十进制!~
对于其他进制的转换方法都可以用这个公式,不过具体的就要改下了!