直接上代码吧。
这一道题,要是麻烦的话,可以很麻烦。。
但是、若是,c语言基础知识比较牢固的话,就是一个考察基本的格式输出的题目,罢了。
代码:
/***** HDOJ 2057 A+B again题目 ********/
/******** written by C_Shit_Hu ************/
/又是数学题,不过用到数组和进制转换
/****************************************************************************/
/*
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.
*/
/****************************************************************************/
// 代码如下,从数组到进制转换应该注意
// 好吧,我承认,我又把问题复杂化了。。。
// 直接利用十六进制的输出格式就ok了。
#include<stdio.h>
int main()
{
__int64 a,b; // 由于定义的数字最多有16位长度,所以定义为int64
while(scanf("%I64X%I64X",&a,&b)!=EOF)
printf(a+b>=0?"%I64X\n":"-%I64X\n",a+b>0?a+b:-a-b); // 完全是考察输出格式的为题,三目运算符的绝佳运用。。
return 0;
}
/******************************************************/
/******************** 心得体会 **********************/
/*
水水更健康!!!
*/
/******************************************************/