大数加法

//大数加法  尽量将第零个元素作为个位,想法简单一点
#include<iostream>
using namespace std;
const int N=100;
int main(void)
{
 int a[N+1]={0};
 int b[N+1]={0};
 string s1,s2;
 cin>>s1;
 cin>>s2;
 int flag1=0;
 int flag2=0;
 for(int i=s1.length()-1;i>=0;i--)
 {
  a[flag1]=s1[i]-'0';
  flag1++;
 }
 for(int i=s2.length()-1;i>=0;i--)
 {
  b[flag2]=s2[i]-'0';
  flag2++;
 }
 int r=0;
 for(int i=0;i<=(max(flag1,flag2));i++)
 {
  a[i]=a[i]+b[i]+r;
  if(a[i]>=10)
  {
   r=a[i]/10;
   a[i]=a[i]%10;
  }
  else
      r=0;
 }
 if(a[max(flag1,flag2)]!=0)
     cout<<a[max(flag1,flag2)];
 for(int i=(max(flag1,flag2)-1);i>=0;i--)
     cout<<a[i];
 cout<<endl;
 return 0;
 }
posted @ 2020-03-08 09:29  OTULP  阅读(163)  评论(0编辑  收藏  举报