HDU 2057 - A + B Again(16進位制計算)
A + B Again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 35406 Accepted Submission(s): 14406
Problem Description
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
題意:
計算16進位制之間的加法。
思路:
直接用16進位制進行計算。
格式字元 格式字元意義
d 以十進位制形式輸出帶符號整數(正數不輸出符號)
o 以八進位制形式輸出無符號整數(不輸出字首O)
x 以十六進位制形式輸出無符號整數(不輸出字首OX)
u 以十進位制形式輸出無符號整數
f 以小數形式輸出單、雙精度實數
e 以指數形式輸出單、雙精度實數
g 以%f%e中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字元
s 輸出字串
程式碼:
#include<stdio.h>
int main()
{
long long a,b,sum;
while(scanf("%llx%llx",&a,&b)!=EOF)
{
sum=a+b;
if(sum>=0)
printf("%llX\n",sum);
else
printf("-%llX\n",-sum);
}
return 0;
}