以下是我的代码,求会做的人帮助:
#include<bits/stdc++.h>
using namespace std;
struct longint{
int len;
int num[501];
void init(char a[],struct longint &b)
{
b.len=strlen(a);
for(int i=b.len-1;i>=0;i--) b.num[i]=a[b.len-i-1]-'0';
}
void print(struct longint b)
{
while(b.num[b.len-1]==0) b.len--;
for(int i=b.len-1;i>=0;i--) cout<<b.num[i];
}
void add(struct longint a,struct longint b,struct longint c)
{
c.len=max(a.len,b.len)+1;
for(int i=c.len-1;i>=0;i--)
{
c.num[i]=a.num[i]+b.num[i];
c.num[i-1]+=c.num[i]/10;
c.num[i]%=10;
}
c.print(c);
}
}k,a,b;
char t[201];
int main()
{
memset(k.num,0,sizeof(k.num));
cin>>t;
a.init(t,a);
cin>>t;
b.init(t,b);
k.add(a,b,k);
return 0;
}