题目: There must be many A + B problems in our HDOJ , now a new one is coming. Give you two hexadecimal integers , your task is to calculate the sum of them,and print it in hexadecimal too. Easy ? AC it ! Input The input contains several test cases, please process to the end of the file. Each case consists of two hexadecimal integers A and B in a line seperated by a blank. The length of A and B is less than 15. Output For each test case,print the sum of A and B in hexadecimal in one line. Sample Input +A -A +1A 12 1A -9 -1A -12 1A -AA Sample Output 0 2C 11 -2C -90
#include<bits/stdc++.h> using namespace std; int main() { long long a,b; while(~scanf("%llX%llX",&a,&b)) { if(a + b < 0) { a = -a; b = -b; cout << "-"; } printf("%llX\n",a + b); } return 0; }需要注意的是如果用long long,输入和输入时都需要写成 %llX ,%x和%X分别对应十六进制中字母小写和字母大写
另外如果相加出现负数的时候需要在前面手动加“-”,然后把a,b分别取反,如果不加就会跳出一堆数字。。。。