Problem E: 十六进制转十进制
#include<stdio.h> int main(void) { char str[80]; int sum,i; while(gets(str)!=NULL) { sum=0; for(i=0;str[i]!='\0';i++) { if(str[i]>='a' && str[i]<='f') str[i]-=32;//将小写转换成大写 if(str[i]>='0' && str[i]<='9') sum=sum*16+str[i]-'0';//16进制换算十进制 if (str[i]>='A' && str[i]<='F') sum=sum*16+str[i]-'A'+10;//让十进制变成十六进制,ABCDEF代表10,11,12,13,14,15 } printf("%d\n",sum); } return 0; }