请编写程序,输入十六进制数,输出对应的十进制数。
法一:
#include<stdio.h>
int main()
{
int x;
scanf("%x",&x);
printf("%ld",x);
return 0;
}
法二:
#include<stdio.h>
#include<string.h>
int main()
{
long n,sum=0;
char a[100001]="";
scanf("%s",a);
n=strlen(a);
for(long i=0;i<n;i++)
{
if(a[i]>='a' && a[i]<='f')
{
sum=sum*16+10+(a[i]-'a');
}
else if(a[i]>='A' && a[i]<='F')
{
sum=sum*16+10+(a[i]-'A');
}
else
{
sum=sum*16+(a[i]-'0');
}
}
printf("%ld",sum);
return 0;
}