如题所述
#include<stdio.h>
int convert(char *str,int n) { int w=1,i=0,rt=0;
while ( str[i] ) i++;
while ( i>0 ) {
i--;
if ( (str[i]>='0')&&(str[i]<='9') ) rt+=(str[i]-'0')*w;
else if ( (str[i]>='a')&&(str[i]<='f') ) rt+=(str[i]-'a'+10)*w;
else if ( (str[i]>='A')&&(str[i]<='F') ) rt+=(str[i]-'A'+10)*w;
w*=n;
}
return rt;
}
void main() { int x; char str[256];
printf("请è¾å ¥åå è¿å¶æ°ï¼"); scanf("%s",str);
x=convert(str,16);
printf("%sH=%dD\n",str,x);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-10-18
自动转的,0x就是16进制,不写就是十进制