@[S_Z_Xcoco](/user/918508) 没有进位
by xiaoxiaoyyds @ 2023-08-24 18:32:32
@[S_Z_Xcoco](/user/918508)
供参考
```
#include <cstring>
#include <iostream>
using namespace std;
int main(){
char s1[1145],s2[1145];
scanf("%s %s",s1,s2);
int a[1145]={0},b[1145]={0},c[1145]={0};
int len1 = strlen(s1);
int len2 = strlen(s2);
int len3 = max(len1,len2);
for(int i=0;i<=len1-1;i++)a[i] = s1[len1-1-i]-'0';
for(int i=0;i<=len2-1;i++)b[i] = s2[len2-1-i]-'0';
int jin = 0;
for(int i = 0; i <= len3 - 1; i++){
c[i] = a[i] + b[i] + jin;
if(c[i] > 9){
jin = 1;
c[i]-=10;
}else jin = 0;
}
if(jin==1)cout << 1;
for(int i = len3 - 1; i >= 0; i--)cout << c[i];
}
```
by luogu10086 @ 2023-08-24 18:32:58
@[xiaoxiaoyyds](/user/793036) 进位了。
![](https://cdn.luogu.com.cn/upload/image_hosting/ia7ryl99.png?x-oss-process=image/resize,m_lfit,h_9999,w_9999)
by S_Z_Xcoco @ 2023-08-24 18:35:46
@[S_Z_Xcoco](/user/918508)
输入 1:
```plain
15
5
```
输入 2:
```plain
1
99
```
输出显然。
你的结果分别为 `90` 和 `10`。
修改方式:将第 26 行修改为 `c[i]+=a[i]+b[i];`。
原因:代码没有考虑下一位非零的情况。
by gtafics @ 2023-08-24 18:37:28
@[gtafics](/user/834670) 谢谢,本帖结
by S_Z_Xcoco @ 2023-08-24 18:40:43
@[gtafics](/user/834670) 不好意思,我把输出打反了。
by gtafics @ 2023-08-24 18:41:27