一道简单题,简单的20进制加减法,我这里代码写的不够优美,还是可以有所改进,不过简单题懒得改了。。。

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int invert(char c)
  5. {
  6. if(c<)
  7. return c-;
  8. else
  9. return c-;
  10. }
  11.  
  12. char reinvert(int a)
  13. {
  14. if(a<)
  15. return a+;
  16. else
  17. return a+;
  18. }
  19.  
  20. char add(char a1,char a2,int *c)
  21. {
  22. int t1,t2,sum;
  23. t1=invert(a1);
  24. t2=invert(a2);
  25. sum=t1+t2+*c;
  26. if(sum<)
  27. {
  28. *c=;
  29. }
  30. else
  31. {
  32. sum-=;
  33. *c=;
  34. }
  35. return reinvert(sum);
  36. }
  37.  
  38. void inversion(char *a)
  39. {
  40. int len=strlen(a);
  41. for(int i=,j=len-;i<=j;i++,j--)
  42. {
  43. char c=a[i];
  44. a[i]=a[j];
  45. a[j]=c;
  46. }
  47. }
  48.  
  49. int main()
  50. {
  51. char a1[],a2[];
  52. while(scanf("%s%s",a1,a2)!=EOF)
  53. {
  54. inversion(a1);
  55. inversion(a2);
  56. int len1=strlen(a1),len2=strlen(a2),i;
  57. int c=;
  58. for(i=;i<len1&&i<len2;i++)
  59. a1[i]=add(a1[i],a2[i],&c);
  60.  
  61. if(len1>len2)
  62. {
  63. for(;i<len1;i++)
  64. a1[i]=add(a1[i],'',&c);
  65. if(c!=)
  66. a1[i++]='';
  67. a1[i]='\0';
  68. len1=strlen(a1);
  69. }
  70. else if(len1==len2)
  71. {
  72. if(c!=)
  73. { a1[i]='';
  74. len1++;
  75. }
  76. }
  77. else
  78. {
  79. for(;i<len2;i++)
  80. a1[i]=add(a2[i],'',&c);
  81. if(c!=)
  82. a1[i++]='';
  83. a1[i]='\0';
  84. len1=strlen(a1);
  85. }
  86.  
  87. for(i=len1-;i>=;i--)
  88. printf("%c",a1[i]);
  89. printf("\n");
  90. }
  91.  
  92. return ;
  93. }

ZOJ Problem Set - 1205 Martian Addition的更多相关文章

  1. ZOJ 1205 Martian Addition

    原题链接 题目大意:大数,20进制的加法计算. 解法:convert函数把字符串转换成数组,add函数把两个大数相加. 参考代码: #include<stdio.h> #include&l ...

  2. [ACM] ZOJ Martian Addition (20进制的两个大数相加)

    Martian Addition Time Limit: 2 Seconds      Memory Limit: 65536 KB   In the 22nd Century, scientists ...

  3. ZOJ Problem Set - 1394 Polar Explorer

    这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...

  4. ZOJ Problem Set - 1025解题报告

    ZOJ Problem Set - 1025 题目分类:基础题 原题地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=10 ...

  5. ZOJ Problem Set - 3829Known Notation(贪心)

    ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达 ...

  6. ZOJ Problem Set - 2563 Long Dominoes 【如压力dp】

    称号:ZOJ Problem Set - 2563 Long Dominoes 题意:给出1*3的小矩形.求覆盖m*n的矩阵的最多的不同的方法数? 分析:有一道题目是1 * 2的.比較火.链接:这里 ...

  7. ZOJ Problem Set - 3593 拓展欧几里得 数学

    ZOJ Problem Set - 3593 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3593 One Person ...

  8. ZOJ Problem Set - 2297 Survival 【状压dp】

    题目:ZOJ Problem Set - 2297 Survival 题意:给出一些怪,有两个值,打他花费的血和能够添加的血,然后有一个boss,必须把小怪全部都打死之后才干打boss,血量小于0会死 ...

  9. ZOJ Problem Set - 3820 Building Fire Stations 【树的直径 + 操作 】

    题目:problemId=5374" target="_blank">ZOJ Problem Set - 3820 Building Fire Stations 题 ...

随机推荐

  1. sqlserver2008附加数据库时提示“无法为该请求检索数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)”

    解决方案: 右击SQL Server Management Studio以管理员身份运行,选择与脱机数据库时相同的登陆方式(win还是sa),进入后再附加就是ok了.

  2. JS 怎么控制某个div的滚动条滚动到顶部? (已解决)

    获取这个元素,然后设置它的滚动条的位置为初始位置(0,0). document.getElementById(..).scrollTop = 0;

  3. Linux VMware 克隆后无法启动eth0网卡

    引: VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法 VMWare 克隆 复 ...

  4. windows多线程编程星球(一)

    以前在学校的时候,多线程这一部分是属于那种充满好奇但是又感觉很难掌握的部分.原因嘛我觉得是这玩意儿和编程语言无关,主要和操作系统的有关,所以这部分内容主要出现在讲原理的操作系统书的某一章,看完原理是懂 ...

  5. SDOI 2016 生成魔咒

    题目大意:一个字符串,刚开始为空,依次在后面添加一个字符,问每次添加完字符后本质不同的字符串有多少种 后缀自动机裸题,添加字符时,更新的结点个数即为新增加的子串 #include<bits/st ...

  6. PHP ob_start() 函数介绍

    ob_start() 函数介绍: http://www.nowamagic.net/php/php_ObStart.php ob_start()作用: http://zhidao.baidu.com/ ...

  7. 多种坐标系之间的转换 Proj.NET和DotSpatial

    Proj.NET ( http://projnet.codeplex.com/)是一个.NET下开源的空间参照和投影引擎,遵循OGC相关标准.负责人(Coordinators )是D_Guidi 和S ...

  8. CI-持续集成(2)-软件工业“流水线”技术实现

    1   概述 持续集成(Continuous Integration)是一种软件开发实践.在本系列文章的前一章节已经对其背景及理论体系进行了介绍.本小节则承接前面提出的理论构想进行具体的技术实现. & ...

  9. 黑科技:gif二维码

    本篇文章是缘于在微博上看到了一的有意思的东西.由于腾讯与阿里的竞争关系,如果你是一个大V,在微博上发布微信的二维码会被屏蔽掉.于是有人发现了这样一个现象:人眼有视觉暂留效应,手机的摄像头由于捕捉影像的 ...

  10. SQL Azure (16) 创建PaaS SQL Azure V12数据库

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 最新的Azure PaaS SQL Database(SQL Azu ...