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

京公网安备 11010502036488号