试了几对数运行结果都对,但是在信奥一本通上提交就是部分错误,真的不知道怎么改,网上的答案中好多用的东西没学过不太能理解。
求大神帮看!
源代码文字如下:
//1168!
#include <bits/stdc++.h>
using namespace std;
int main(int argc, const char * argv[]) {
string num1,num2;
cin>>num1>>num2;
int a[100],b[100];
int lena=num1.length();
int lenb=num2.length();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=0;i<lena;i++){
a[i]=num1[lena-1-i]-'0';
}
for(int i=0;i<lenb;i++){
b[i]=num2[lenb-1-i]-'0';
}
int c[200];
memset(c,0,sizeof(c));
int lenc=max(lena,lenb)+1;
int x=0;
//x进位
for(int i=0;i<lenc;i++){
c[i]=a[i]+b[i]+x;
x=c[i]/10;
c[i]=c[i]%10;
}
while(c[lenc-1]==0&&lenc>1){ //输出的开头是lenc-1位
lenc--;
}
for(int i=lenc-1;i>=0;i--){
cout<<c[i];
}
return 0;
}