读入16位数字符串,先转化为10进制整数,再转化为字符串。代码如下:
#include
#include
#include
int main()
{
char a[128];
char b[1024];
int n;
int t;
int i;
while(gets(a)){
n = strlen(a);
t = 0;
int e = 0;
for(i=2;iif(a[i]>='a'&&a[i]<='f'){
t=t*16+a[i]-'a'+10;
}
else if(a[i]>='A'&&a[i]<='F'){
t=t*16+a[i]-'A'+10;
}
else if(a[i]>='0'&&a[i]<='9'){
t=t*16+a[i]-'0';
}
else{
printf("error\n");
e=1;
break;
}
}
if(e!=1){
itoa(t,b,10);
printf("%s\n",b);
}
}
return 0;
}