考虑用字符串数组保存输入的十六进制
然后确立数组的长度以确立第一位数是16的几次方,之后的次方一次递减,设sum为零,而后从第一位的16的l-1次方依次加到最后一位
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char a[1000];
scanf("%s",a);
int l,i,l1;
long long sum=0;
l=strlen(a)-1;
l1=l+1;
for(i=0;i<l1;i++)
{
if(a[i]>='0'&&a[i]<='9')
sum+=(a[i]-'0')*pow(16,l--);
else
sum+=(a[i]-'A'+10)*pow(16,l--);
}
printf("%lld",sum);
return 0;
} ```