A+B Coming
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 14283 Accepted Submission(s): 9059
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. ^_^
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.
Output
Output A+B in decimal number in one line.
Sample Input
1 9
A B
a b
Sample Output
10
21
21
AC代码:
#include<stdio.h>
#include<math.h>
int hexToInt(char arr[]){
int mul,len,i,result,temp;
for(i=0;arr[i]!='\0';i++){
}
mul=1;
for(i--,result=0;i>=0;i--){
if(arr[i] >= '0' && arr[i] <= '9'){
temp = arr[i]-'0';
}else if(arr[i] >= 'a' && arr[i] <= 'h'){
temp = arr[i]-'a'+10;
}else{
temp = arr[i]-'A'+10;
}
result = result + temp * mul;
mul*=16;
}
return result;
}
int main(void){
char one[10],two[10];
while(scanf("%s %s",one,two)!=EOF){
printf("%d\n",hexToInt(one) + hexToInt(two));
}
return 0;
}
很水的题,本来不打算贴出来的,但是阅读了别人的代码发现,居然
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%x%x",&a,&b)!=EOF)
{
printf("%d\n",a+b);
}
return 0;
}
瞬间石化了,大神2分钟AC5道题,不是没有原因的