题目链接

https://www.dotcpp.com/oj/problem1475.html

AC代码

//两个相同的方法,之所以写第二段代码,是因为第二种传递参数的方式,因为我没有初始化为0,debug了好久
//AC代码1
#include<bits/stdc++.h>
using namespace std;
const int N=1100;
int len1,len2;
int a[N],b[N],c[N];
void add(){
    int len=max(len1,len2);
    for(int i=1;i<=len;i++){
        c[i]+=a[i]+b[i];
        c[i+1]=c[i]/10;
        c[i]%=10;
    }
    if(c[len+1]!=0) len++;
    for(int i=len;i>=1;i--)
        cout<<c[i];
    return ;
}
int main(){
    char s1[N],s2[N];
    cin>>s1+1;
    cin>>s2+1;
    len1=strlen(s1+1);
    len2=strlen(s2+1);
    for(int i=1;i<=len1;i++)
        a[len1-i+1]=s1[i]-'0';
    for(int i=1;i<=len2;i++)    
        b[len2-i+1]=s2[i]-'0';

    add();
    return 0;
} 
//AC代码2
#include<bits/stdc++.h>
using namespace std;
const int N=1100;
int len1,len2;
int c[N];
void add(int* a,int* b){
    int len=max(len1,len2);
    for(int i=1;i<=len;i++){
        c[i]+=a[i]+b[i];
        c[i+1]=c[i]/10;
        c[i]%=10;
    }
    if(c[len+1]!=0) len++;
    for(int i=len;i>=1;i--)
        cout<<c[i];
    return ;
}
int main(){    
    char s1[N],s2[N];
    int a[N],b[N];
    memset(a,0,sizeof a);//勿忘!!! 
    memset(b,0,sizeof b);//勿忘!!! 
    cin>>s1+1;
    cin>>s2+1;
    len1=strlen(s1+1);
    len2=strlen(s2+1);
    for(int i=1;i<=len1;i++)
        a[len1-i+1]=s1[i]-'0';
    for(int i=1;i<=len2;i++)    
        b[len2-i+1]=s2[i]-'0';

    add(a,b);
    return 0;
} 

总结

板子而已