题目链接:https://vjudge.net/problem/HDU-1720
十六进制转化为10进制A+B,可以%x强制转换,但是还是勤奋点吧。
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <iostream> 5 #include <algorithm> 6 #include <string> 7 #include <cstdlib> 8 9 using namespace std; 10 11 int work(char *x) 12 { 13 int len,i,sum=0; 14 len=strlen(x); 15 for(i=0;i<len;i++) 16 { 17 if(x[i]>='A'&&x[i]<='F') sum=sum*16+(x[i]-'A'+10); 18 if(x[i]>='a'&&x[i]<='f') sum=sum*16+(x[i]-'a'+10); 19 if(x[i]>='0'&&x[i]<='9') sum=sum*16+(x[i]-'0'); 20 } 21 return sum; 22 } 23 24 int main() 25 { 26 char a[1000],b[1000]; 27 while(~scanf("%s %s",a,b)) 28 printf("%d ",work(a)+work(b)); 29 }