首页 > 代码库 > A+B Coming
A+B Coming
Problem Description
Many classmates said to me that A+B is must needs.
If you can’t AC this problem, you would invite me for night meal. ^_^
If you can’t AC this problem, you would invite me for night meal. ^_^
Input
Input may contain multiple test cases. Each case contains A and B in one line.
A, B are hexadecimal number.
Input terminates by EOF.
A, B are hexadecimal number.
Input terminates by EOF.
Output
Output A+B in decimal number in one line.
Sample Input
1 9
A B
a b
Sample Output
10
21
21
1 #include <stdio.h> 2 #include <string.h> 3 #include <ctype.h> 4 #include <math.h> 5 6 int decimal(char s[]); 7 8 int main(){ 9 char s1[50];10 char s2[50];11 int number1;12 int number2;13 14 while(scanf("%s%s",s1,s2)!=EOF){15 number1=decimal(s1);16 number2=decimal(s2);17 18 printf("%d\n",number1+number2);19 20 }21 22 return 0;23 }24 25 int decimal(char s[]){26 int result=0;27 int i;28 int length;29 int temp;30 31 length=strlen(s);32 33 for(i=length-1;i>=0;i--){34 if(isdigit(s[i]))35 temp=s[i]-‘0‘;36 37 else if(s[i]==‘A‘ || s[i]==‘a‘)38 temp=10;39 40 else if(s[i]==‘B‘ || s[i]==‘b‘)41 temp=11;42 43 else if(s[i]==‘C‘ || s[i]==‘c‘)44 temp=12;45 46 else if(s[i]==‘D‘ || s[i]==‘d‘)47 temp=13;48 49 else if(s[i]==‘E‘ || s[i]==‘e‘)50 temp=14;51 52 else if(s[i]==‘F‘ || s[i]==‘f‘)53 temp=15;54 55 result+=temp*pow(16,length-1-i);56 }57 58 return result;59 }
A+B Coming
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。