zoukankan      html  css  js  c++  java
  • 大数相加_原创

    所谓的大数就是用整形存不下的数;

    EG : 123466789123456789

    由于数组能够进行逐操作;

    所以考虑到用数组来逐一存放这个大数的每一位元素;

    这时候问题来了;

    1 怎么解决该数的输入以及将其存放到数组里面;

    2 如何解决进位;

    3 万一第一位是0如何解决;

    C语言有一种输入方法为%s;

    也就是所谓的字符串输入;

    与%c不同的是%s可以以空格为结束标识符;

    那么现在我们用一个字符型数组  ch[] 来输入该数;

    现在

    ch[1]='1';

    ch[2]='2';

    目前的元素都为字符型;

    现在要将其转化为整形来对其操作;

    同样用整形数组 a[]; b[]; 来存储;

    1='1'-'0';

    为了方便操作;

    我将其倒叙存放;

    目前;

    a[1]=9; a[2]=8;

    数据的存放便解决了;

    先比较这两个数组的长度;

    取最大记为L;

    用一个整形数组来存储ans;

    现在来解决进位;

    for(int i=0;i<L;i++)

    {

      c[i]=a[i]+b[i];      //记录每个位的答案;

         if(c[i]>=10)         //需要进位;

      {

        c[i++]++;    //向前一位进1;

        c[i]-=10;

      }

    }

    最后还有最后一点那就数判0;

    声明:c[0]存储个位;

    if(c[L]!=0)

    L=L+1;

    for(int  i=L;i>0;i--)

    cout<<c[i];

    OVER;

  • 相关阅读:
    html(单纯html标签)
    python 知识点
    浅谈五大Python Web框架
    Python3的变化
    测试开发
    常见的测试用例设计方法
    数字数据类型及其对应转移字符
    char *p 与char p[]
    C语言运算符优先级 详细列表
    软件自动化测试
  • 原文地址:https://www.cnblogs.com/M-D-LUFFI/p/4046349.html
Copyright © 2011-2022 走看看