0
已采纳
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char a[100001],b[100001];
int c[100001];
cin>>a>>b;
int i,j,k=0;
int r=0;
for(i=strlen(a)-1,j=strlen(b)-1;i>=0&&j>=0;i--,j--){
int p=(a[i]-'0')+(b[j]-'0')+r;
r=p/10; //进位
c[k++]=p%10; //余数加到数组中
}
while(i>=0){ //如果b中的数加完了
int p=(a[i]-'0')+r;
r=p/10;
c[k++]=p%10;
i--;
}
while(j>=0){ //如果a中的数加完了
int p=(b[j]-'0')+r;
r=p/10;
c[k++]=p%10;
j--;
}
if(r){ //判断最高位有没有进位
c[k++]=r;
}
for(int i=k-1;i>=0;i--){ // 输出最后结果
cout<<c[i];
}
return 0;
} 吕牧原在2019-09-09 17:26:14追加了内容
这可不止是一维数组
