#include <stdio.h>
#include <string.h>

int hextodec(char t[]);
int mypow(int s);

int main()
{
	char t[100]={'\0'};
	printf("请输入一个十六进制数:");
	scanf("%s",t);
	int k=hextodec(t);
	printf("该数转化成十进制数为%d",k);
} 

int mypow(int s)
{
	int t=1;
	for(int i=0;i<s;i++) t*=16;
	return t;
}

int hextodec(char t[])
{
	int sum=0;
	size_t len=strlen(t);
	for(size_t i=0;i<len;i++)
	{
		if(t[i]>='0' && t[i]<='9') sum+=(t[i]-'0')*mypow(len-i-1);
		else
		{
			if(t[i]>='a' && t[i]<='f')  sum+=(t[i]-'W')*mypow(len-i-1);
			if(t[i]>='A' && t[i]<='F')  sum+=(t[i]-'7')*mypow(len-i-1);
		}
	}
	return sum;
}