题意:就是求a+b (a,b都不超过1000位)

思路:用数组存储

第一道大数的题目,虽然很水,纪念一下!

代码:

  1. #include<cstdio>
  2. #include<cstring>
  3.  
  4. int main(){
  5. int t,lena,lenb,i,j,sum,testcase=0;
  6. char a[1024],b[1024];
  7. char c[1024];//存 a+b
  8. int co;//进位
  9. scanf("%d",&t);
  10. int tt=t;
  11. while(t--){
  12. co=0;
  13. memset(c,'\0',sizeof(c));
  14. testcase++;
  15. scanf("%s%s",a,b);
  16. lena=strlen(a);
  17. lenb=strlen(b);
  18. if(lena<lenb){//b长
  19. for(i=lena-1,j=lenb-1;i>=0;i--,j--){
  20. sum=(a[i]-'0')+(b[j]-'0')+co;
  21. c[j]='0'+sum%10;
  22. co=sum/10;
  23. }
  24. for(;j>=0;j--){
  25. sum=b[j]-'0'+co;
  26. c[j]='0'+sum%10;
  27. co=sum/10;
  28. }
  29. }
  30. else{//否则
  31. for(i=lena-1,j=lenb-1;j>=0;i--,j--){
  32. sum=(a[i]-'0')+(b[j]-'0')+co;
  33. c[i]='0'+sum%10;
  34. co=sum/10;
  35. }
  36. for(;i>=0;i--){
  37. sum=a[i]-'0'+co;
  38. c[i]='0'+sum%10;
  39. co=sum/10;
  40. }
  41. }
  42. printf("Case %d:\n",testcase);
  43. printf("%s + %s = ",a,b);
  44. if(co!=0) printf("%d",co);//最高位有溢出,则输出最高位的进位
  45. printf("%s\n",c);
  46. if(testcase<tt) printf("\n");//注意格式,最后一组没有空行
  47. }
  48. return 0;
  49. }

hdu 1002 A + B Problem II(大数)的更多相关文章

  1. 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)

    数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...

  2. HDU 1002 A + B Problem II(高精度加法(C++/Java))

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. HDU 1002 A + B Problem II

    A + B Problem II   Time Limit: 1000MS      Memory Limit: 65536K Total Submissions: 16104    Accepted ...

  4. HDU 1002 A + B Problem II(大整数相加)

    A + B Problem II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u De ...

  5. 大数加法~HDU 1002 A + B Problem II

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 题意: 数学题,A+B; 思路,这个数非常大,普通加法一定会超时,所以用大数加法.大数加法的基 ...

  6. HDU 1002 A + B Problem II (大数加法)

    题目链接 Problem Description I have a very simple problem for you. Given two integers A and B, your job ...

  7. hdu 1002 A + B Problem II【大数加法】

    题目链接>>>>>> 题目大意:手动模拟大数加法,从而进行两个大数的加法运算 #include <stdio.h> #include <strin ...

  8. HDU 1002 - A + B Problem II - [高精度]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 Problem DescriptionI have a very simple problem ...

  9. hdu 1002.A + B Problem II 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目意思:就是大整数加法. 两年几前做的,纯粹是整理下来的. #include <stdi ...

随机推荐

  1. UNP学习笔记(第一章 简介)

    环境搭建 1.下载解压unpv13e.tar.gz 2.进入目录执行 ./configurecd lib //进入lib目录make //执行make命令 3.将生成的libunp.a静态库复制到/u ...

  2. Android · 获取网络图片

    import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import j ...

  3. Siteserver平台搭建

    本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 一开始什么也不懂真痛 ...

  4. ThinkPHP中的模型命名

    当我们创建一个UserModel类的时候,其实已经遵循了系统的约定.ThinkPHP要求数据库的表名和模型类的命名遵循一定的规范,首先数据库的表名和字段全部采用小写形式,模型类的命名规则是除去表前缀的 ...

  5. 在eclipse中添加android ADT

    对于程序开发的学者来说,eclipse并不陌生,它为我们提供了一个非常广阔的平台来开发程序.同样我们也可以用它来开发android程序. 但是在eclipse中并不能直接开发android程序,需要我 ...

  6. 软件工程第2次作业——Visual Studio 2017下基于C/C++的VSTS单元测试实践

    Write one minute, test all day long. 环境确定 IDE:Microsoft Visual Studio 2017 Community 语言:C++ 单元测试工具:V ...

  7. 【转】Android中的Apk的加固(加壳)原理解析和实现

    一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk, ...

  8. Javascript文件加载:LABjs和RequireJS

    传统上,加载Javascript文件都是使用<script>标签. 就像下面这样: <script type="text/javascript" src=&quo ...

  9. mysql分组查询n条记录

    当业务逻辑越来越复杂时,这个查询的需求会越来越多,今天写成笔记记录下来,防止再忘记 SELECT * FROM `notice` a where add_time > 1513008000 an ...

  10. spring AOP(切面) 表达式介绍

    在 spring AOP(切面) 例子基础上对表达式进行介绍 1.添加接口删除方法 2.接口实现类 UserDaoServer 添加实现接口删除方法 3.测试类调用delUser方法 4. 输出结果截 ...