#include
long hex2dec(char *p)
{
long x=0;
for(;*p;p++)
{
if(*p>='0'&&*p<='9')x=x*16+*p-'0';
else if(*p>='A'&&*p<='F')x=x*16+*p-'A'+10;
else if(*p>='a'&&*p<='f')x=x*16+*p-'A'+10;
else
{
printf("Data error!\n");
return -1;
}
}
return x;
}
int main()
{
char s[20];
scanf("%s",s);
printf("%sH=%ldD\n",s,hex2dec(s));
system("pause");
return 0;
}
#include
int main()
{ int shiliu(char *x);
char a[100];
int b;
printf("please input a 16 figure\n");
gets(a);
b=shiliu(a);
printf("%d\n",b);
return 0;
}
int shiliu(char *x)
{
int n=0;
while(*x != '\0')
{
if(*x>='0' && *x<='9')
n=n*16+ *x-'0';
if(*x>='a'&& *x<='f')
n=n*16+ *x-'a'+10;
if(*x>='A'&& *x<='F')
n=n*16+ *x-'A'+10;
x++;
}
return (n);
}
输入的时候作为整形输入,处理的时候作为字符型处理,是矛盾的。