题目链接
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; }
总结
板子而已