![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/88820efead22d873baed02c1267565de.png)
思路
- 先用字符数组将要加的数存起来
- 在求出长度,
- 然后将字符数组倒置存在整型数组中
- 然后每位相加,如果大于10,则将考虑进位
- 最后删除前导0,注意:00 所以len>1
2.源码
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char a[600]={};
char b[600]={};
int str1[600]={};
int str2[600]={};
scanf("%s %s",a,b);
int len1=strlen(a);
for(int i=0;i<len1;i++){
str1[i]=a[len1-1-i]-'0';
}
int len2=strlen(b);
for(int i=0;i<len2;i++){
str2[i]=b[len2-1-i]-'0';
}
int c[600]={};
int len=max(len1,len2)+1;
int jw=0;
for(int i=0;i<len;i++){
c[i]=str2[i]+str1[i]+jw;
jw=c[i]/10;
c[i]=c[i]%10;
}
for(int i=len-1;i>=0;i--){
if(c[i]==0&&len>1)
len--;
else
break;
}
for(int i=len-1;i>=0;i--)
printf("%d",c[i]);
printf("\n");
}
#include<bits/stdc++.h>
#define maxn 520
using namespace std;
int a[maxn],b[maxn],c[maxn];
int main(){
string A,B;
cin>>A>>B;
for(int i=A.length()-1,j=1;i>=0;i--,j++)
a[j]=A[i]-'0';
for(int i=B.length()-1,j=1;i>=0;i--,j++)
b[j]=B[i]-'0';
int len=max(A.length(),B.length());
for(int i=1;i<=len;i++){
c[i]+=a[i]+b[i];
c[i+1]=c[i]/10;
c[i]=c[i]%10;
}
if(c[len+1])
len++;
for(int i=len;i>=1;i--)
cout<<c[i];
}