@[Dcchen](/user/1012241)
所以呢
by so_find_skind @ 2023-08-27 21:05:40
@[Dcchen](/user/1012241) 有三个错误
by ShieHere @ 2023-08-27 21:11:01
@[Dcchen](/user/1012241) 第一个是最开始的两个 for 内的 j 应该从 $0$ 开始枚举。
by ShieHere @ 2023-08-27 21:11:50
@[Dcchen](/user/1012241) 第二个是最后一个 if 的 len+1 应该改为 len。
by ShieHere @ 2023-08-27 21:12:38
@[Dcchen](/user/1012241) 第三个是最后一个 for 内的 i++ 改为 i--。
by ShieHere @ 2023-08-27 21:13:15
@[Dcchen](/user/1012241) 改完后代码:
```cpp
#include<string.h>
#include<algorithm>
#include<iostream>
#define maxn 5010
using namespace std;
int a[maxn],b[maxn],c[maxn];
int main(){
string x,y;
cin>>x>>y;
int len=max(x.size(),y.size());
for(int i=x.size()-1,j=0;i>=0;i--,j++)//这里的 j 从 0 开始枚举
a[j]=x[i]-'0';
for(int i=y.size()-1,j=0;i>=0;i--,j++)//这里同理
b[j]=y[i]-'0';
for(int i=0;i<len;i++){
c[i]+=a[i]+b[i];
c[i+1]=c[i]/10;
c[i]%=10;
}
if(c[len])//这里的 len 是不用 +1 的
len++;
for(int i=len-1;i>=0;i--)//这里 i 是递减的,所以 i--
cout<<c[i];
}
```
by ShieHere @ 2023-08-27 21:18:21
其实只用改第三个问题就可以了。
感谢!!!
by Dcchen @ 2023-08-28 08:11:18
错误的,$1+1=51$。纯属整活。
使用上面的改完后代码。
输入:
```plain
1+1
1+1
```
他输出了:
```plain
102
```
设 $1+1=x$。
$$x+x=102$$
解得
$$x=51$$
故 $1+1=51$。
by denominator @ 2023-08-29 12:56:42