考虑到用int实现两个数字的加法可能会溢出,因此可以采用字符串的方式去实现,输入是两个字符数组,输出一个串。
#include <iostream>
#include <cmath>
#include <string.h>
using namespace std;
void calPrint(char* sum,char *num1,char *num2,int len1,int len2,int jinwei,int index1,int index2,int index,int len);
void Print(char *sum);
void CalSum(char* num1,char* num2)
{
if(num1==NULL||num2==NULL)cout<<"error"<<endl;
int len1=strlen(num1);
int len2=strlen(num2);
int len=max(len1,len2);
cout<<num1<<"+"<<num2<<"="<<" "<<endl;
char *sum=new char[len+2];
for(int i=0;i<=len;i++)
{
sum[i]='0';
}
sum[len+1]='\0';
int carry=0;
int index=0;