直接上代码吧。
这一道题,要是麻烦的话,可以很麻烦。。
但是、若是,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; } /******************************************************/ /******************** 心得体会 **********************/ /* 水水更健康!!! */ /******************************************************/