PS:一开始我画蛇添足的用字符串来做....超麻烦...贴个我做的..

代码:

#include "stdio.h"
#include "string.h"
#include "math.h"
long long cal(char a[]);
long long back(long long a,char b[],long long &flag);
char c[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main(){
char a[110],b[110],sum[110];
long long sum1,i,s,flag;
while(~scanf("%s%s",&a,&b)){
sum1=cal(a)+cal(b); //两个十六进制数转换成十进制数相加
s=back(sum1,sum,flag); //flag是用来判断正负
if(flag==0){
for(i=s;i>=0;i--){
printf("%c",sum[i]);
}
puts("");
}
else{
printf("-");
for(i=s;i>0;i--){
printf("%c",sum[i]);
}
puts(""); }
}
return 0;
}
long long back(long long a,char b[],long long &flag){ //从十进制数变到十六进制数
long long i=0,k,t;
flag=0;
if(a>=0){
t=a;
while(t/16!=0){
k=t%16;
b[i++]=c[k];
t=t/16;
}
k=t%16;
b[i]=c[k];
}
else{
flag=1;
t=-a;
b[i++]='-';
while(t/16!=0){
k=t%16;
b[i++]=c[k];
t=t/16;
}
k=t%16;
b[i]=c[k];
}
return i;
}
long long cal(char a[]){ //从十六进制数变成十进制数
long long i,s,j,sum=0;
if(a[0]=='-'){
s=strlen(a);
for(i=1;i<s;i++){
for(j=0;j<16;j++){
if(a[i]==c[j]){
sum+=j*pow(16,s-i-1);
break;
}
}
}
sum=-sum;
}
else if(a[0]=='+'){
s=strlen(a);
for(i=1;i<s;i++){
for(j=0;j<16;j++){
if(a[i]==c[j]){
sum+=j*pow(16,s-i-1);
break;
}
}
}
}
else{
s=strlen(a);
for(i=0;i<=s-1;i++){
for(j=0;j<16;j++){
if(a[i]==c[j]){
sum+=j*pow(16,s-i-1);
break;
}
}
}
}
return sum;
}

PS:后来才知道可以用%X输入十六进制的整数...所以AC代码为下列

代码:

#include "stdio.h"
int main(){
long long a,b,c;
while(~scanf("%llX%llX",&a,&b)){
c=a+b;
if(c<0) {printf("-"); c=-c;}
printf("%llX\n",c);
}
return 0; }

hdu 2057的更多相关文章

  1. hdu 2057 A+B

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 For each test case,print the sum of A and B in h ...

  2. hdu 2057 A+B Again

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 题目分析:涉及到16进制内的加法,可以用%I64x直接来处理,要注意到16进制中负数是用补码来表 ...

  3. HDU 2057 十六进制加减法

    http://acm.hdu.edu.cn/showproblem.php?pid=2057   水题,%I64X 长整形十六进制输入输出     #include<stdio.h> in ...

  4. 题解报告:hdu 2057 A + B Again

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 问题描述 我们的HDOJ必须有许多A + B问题,现在又有新的问题出现. 给你两个十六进制整数, ...

  5. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

  6. [转] HDU 题目分类

    转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...

  7. HDU ACM 题目分类

    模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 104 ...

  8. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  9. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

随机推荐

  1. android GC内存回收小析

    由于时间问题,简单的谈谈自己的理解. 大家都知道,在android开发中,不需要自己去管理,有垃圾回收机制会自动帮我们去回收 没有被引用到的对象. 那垃圾回收机制到底是怎样的呢?下面列出本人的一些理解 ...

  2. C/C++, Java和C#的编译过程解析

    原文地址:http://www.cnblogs.com/rush/p/3155665.html 1.1.1 摘要 我们知道计算机不能直接理解高级语言,它只能理解机器语言,所以我们必须要把高级语言翻译成 ...

  3. gulp-webpack工程化实现electron

    参考网站: https://www.npmjs.com/package/babel-loader https://www.npmjs.com/package/gulp https://www.npmj ...

  4. 丢失Ref Edit Control的解决方法

    2010版本excel编制的带有控件的VBA,换在别的电脑使用有可能会出现“找不到工程或库”的错误,在VBE编辑器,打开工具——引用,可以看到“丢失 Ref Edit Control”解决方法是,先把 ...

  5. Scrum项目6.0

    sprint演示 1.坚持所有的sprint都结束于演示. 团队的成果得到认可,会感觉很好. 其他人可以了解你的团队在做些什么,并得到重要反馈. 演示是一种社会活动,不同的团队可以在这里相互交流,讨论 ...

  6. 【转载】JSP中文乱码问题

     原作者http://www.cnblogs.com/xing901022/p/4354529.html 阅读目录 之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因. ...

  7. 数据库索引<二> 如何创建索引

    前面一篇说法了索引结构,和几种索引在数据表上的结构,了解了索引可以为查询服务,这篇说一说如何创建索引. >平时可能的创建方式 这个系统中要用到A字段,B字段,C字段做为查询的条件,联接的条件较多 ...

  8. struts2视频学习笔记 03-06(Struts 2配置文件无提示问题,Action配置中的各项默认值,各种转发类型)

    课时3 解决Struts 2配置文件无提示问题(eclipse):window→preference→XML→XML Catlog

  9. Java多线程-新特性-线程池

    Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定可靠的多线程程序 ...

  10. PHP函数——parse_ini_file() 函数

    资料网址:http://www.w3school.com.cn/php/func_filesystem_parse_ini_file.asp 1.parse_ini_file() 函数解析一个配置文件 ...