新手上路 技术不行 排一下Bug 各位

求帮忙看看我的高精度加法

#include<bits×dc++.h>
using namespace std;
int main (){
string ta,tb;
int a[100]={0},b[100]={0},c[101]={0};
cin>>ta>>tb;
int la=ta.size(),lb=tb.size();

int lall= la>lb? la:lb;


for(int i=0;i<la;i++){
    a[(la-1)-i]=ta[i]-'0';
}
for(int i=0;i<lb;i++){
    b[(lb-1)-i]=tb[i]-'0';
}


int jw=0;
for(int i=0;i<lall;i++){
    c[i]=a[i]+b[i]+c[i];
    jw=c[i]/10;
    if(c[i]>=10){
        c[i+1]=c[i+1]+jw;
        c[i]=c[i]%10;
    }else{
        c[i]=c[i];
    }

}
int lc=lall
;
if(c[lc==1]){
    lc=lc+1;
}else{
    lc=lc;
}

if(c[lc]!=1){
    for(int i=lc-1;i>=0;i--){
    cout<<c[i];
    }
}else{

    for(int i=lc;i>=0;i--){
    cout<<c[i];
    }
}

return 0;

}

可以运行了:请点一下我回答右上方的采纳,谢谢

#include <iostream>
using namespace std;
int main (){
string ta,tb;
int a[100]={0},b[100]={0},c[101]={0};
cin>>ta>>tb;
int la=ta.size(),lb=tb.size();

int lall= la>lb? la:lb;
 
 
for(int i=0;i<la;i++){
    a[(la-1)-i]=ta[i]-'0';
}
for(int i=0;i<lb;i++){
    b[(lb-1)-i]=tb[i]-'0';
}
 
 
int jw=0;
for(int i=0;i<lall;i++){
    c[i]=a[i]+b[i]+c[i];
    jw=c[i]/10;
    if(c[i]>=10){
        c[i+1]=c[i+1]+jw;
        c[i]=c[i]%10;
    }else{
        c[i]=c[i];
    }
 
}
int lc=lall
;
if(c[lc==1]){
    lc=lc+1;
}else{
    lc=lc;
}
 
if(c[lc]!=1){
    for(int i=lc-1;i>=0;i--){
    cout<<c[i];
    }
}else{
 
    for(int i=lc;i>=0;i--){
    cout<<c[i];
    }
}
 
return 0;
}

img