#include<iostream>
#include<assert.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
using namespace std;
#define MAXSIZE 10
void BigNumberPlus(char *number1,char *number2)
{
int over=0;
int sum=0;
int isOverFlow=0;
char *Sum=new char[MAXSIZE+2];
int len1=strlen(number1);
int len2=strlen(number2);
int maxlen=len1>len2 ? len1:len2;
char *temp1=new char[maxlen+1];
char *temp2=new char[maxlen+1];
memset(temp1,'0',maxlen);
temp1[maxlen]='\0';
memset(temp2,'0',maxlen);
temp2[maxlen]='\0';
int i=0,j=0;
for (i = len1 -1;i>=0;i--)
{
temp1[j++] = number1[i];
}
j =0;
for (i = len2 -1;i>=0;i--)
{
temp2[j++] = number2[i];
}
for(i=0;i<maxlen;i++)
{
sum=temp1[i]-'0'+temp2[i]-'0'+over;
if(sum>=10)
{
if(i==maxlen-1)
{
isOverFlow=1;
}
over=1;
sum=sum-10;
Sum[i]=sum+'0';
}
else
{
over=0;
Sum[i]=sum+'0';
}
}
if(isOverFlow)
{
Sum[maxlen++]='0'+over;
}
Sum[maxlen]='\0';
int len =strlen(Sum);
for(i=len-1;i>=0;i--)
cout<<Sum[i];
cout<<endl;
delete []temp1;
delete []temp2;
delete []Sum;
}
int main(void)
{
char *number1=new char[MAXSIZE+1];
char *number2=new char[MAXSIZE+1];
cout<<"please input a number:"<<endl;
gets(number1);
cout<<"please input a number:"<<endl;
gets(number2);
BigNumberPlus(number1,number2);
return 0;
}
#include<assert.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
using namespace std;
#define MAXSIZE 10
void BigNumberPlus(char *number1,char *number2)
{
int over=0;
int sum=0;
int isOverFlow=0;
char *Sum=new char[MAXSIZE+2];
int len1=strlen(number1);
int len2=strlen(number2);
int maxlen=len1>len2 ? len1:len2;
char *temp1=new char[maxlen+1];
char *temp2=new char[maxlen+1];
memset(temp1,'0',maxlen);
temp1[maxlen]='\0';
memset(temp2,'0',maxlen);
temp2[maxlen]='\0';
int i=0,j=0;
for (i = len1 -1;i>=0;i--)
{
temp1[j++] = number1[i];
}
j =0;
for (i = len2 -1;i>=0;i--)
{
temp2[j++] = number2[i];
}
for(i=0;i<maxlen;i++)
{
sum=temp1[i]-'0'+temp2[i]-'0'+over;
if(sum>=10)
{
if(i==maxlen-1)
{
isOverFlow=1;
}
over=1;
sum=sum-10;
Sum[i]=sum+'0';
}
else
{
over=0;
Sum[i]=sum+'0';
}
}
if(isOverFlow)
{
Sum[maxlen++]='0'+over;
}
Sum[maxlen]='\0';
int len =strlen(Sum);
for(i=len-1;i>=0;i--)
cout<<Sum[i];
cout<<endl;
delete []temp1;
delete []temp2;
delete []Sum;
}
int main(void)
{
char *number1=new char[MAXSIZE+1];
char *number2=new char[MAXSIZE+1];
cout<<"please input a number:"<<endl;
gets(number1);
cout<<"please input a number:"<<endl;
gets(number2);
BigNumberPlus(number1,number2);
return 0;
}