代码如下:
#include<iostream>
#include<string>
#include<cmath>
#include<cstring>
using namespace std;
int anum[510],bnum[510],cnum[1000];
int main(){
string a,b;//big<-->small
cin>>a>>b;//1234567
int an=0,bn=0;
//数组内
//7654321
for(int i=a.size()-1;i>=0;i--){
anum[an]=a[i]-'0';
an++;
//cout<<anum[an-1]<<' ';
}
//cout<<endl;
for(int i=b.size()-1;i>=0;i--){
bnum[bn]=b[i]-'0';
bn++;
//cout<<bnum[bn-1]<<' ';
}
int len=max(an,bn);
if((anum[max(an,bn)]+bnum[max(an,bn)])>=10){
len++;
}
for(int i=0;i<max(an,bn);i++){
cnum[i]=anum[i]+bnum[i];
cnum[i+1]=cnum[i]/10;
cnum[i]=cnum[i]%10;
}
for(int i=len;i>=0;i--){
cout<<cnum[i];
}
return 0;
}
目前问题在于,对于cnum的位数的特判我不知道该如何写,写了一个没有用处,我应该怎么改?