1. 程式人生 > >HDU 2057 - A + B Again(16進位制計算)

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;
}