您的位置:首页 > 大数据 > 人工智能

HDU 2057 A + B Again

2013-08-19 12:47 260 查看
[align=left]Problem Description[/align]
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 !

[align=left]Input[/align]
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.

[align=left]Output[/align]
For each test case,print the sum of A and B in hexadecimal in one line.

[align=left]Sample Input[/align]

+A -A
+1A 12
1A -9
-1A -12
1A -AA

[align=left]Sample Output[/align]

0
2C
11
-2C
-90
题目大意:求两个16进制数的和
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
int main()
{
    __int64 a,b,c;
   //char s[100];
    while(scanf("%I64X%I64X",&a,&b)!=EOF)
    {
        /*
        c=a+b;
        memset(s,0,sizeof(s));
        itoa(c,s,16);
        sscanf(s,"%I64X",&c); 这样只会输出补码
        if(c<0)
        printf("-%I64X\n",-c);
        else
        printf("%I64X\n",c);
        */
        a=a+b;
       if(a<0)      //因为计算机按补码存的,当a<0时,要输出加个负号a的正数值,否则则输出补码形式,不符题意
        printf("-%I64X\n",-a);
       else
        printf("%I64X\n",a);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: