#大数加法#基本题解:1.用整型数组存字符串。2.判断每个数组中的数能否进位,做进位操作。3.逆序输出。
第一步:
存的时候最开始太天真忘记考虑整数与字符的去别了
for(int i=0;i<s.length();++i){
     aa[i]=s[i];
}
结果出来的不对 8+8都等于56了
考虑了之后要注意减去0的ASCII码值转换成整数
for(int i=0;i<s.length();++i){
    aa[i]=s[s.length()-i-1]-'0';
}
第二步:
最开始判断的是用一个数组来相加判断然后更改
for(int i=0;i<=k;++i){
            if(sum[i]+bb[t.length()-i]>=10){
                sum[i]-=10;
                sum[i+1]+=1;
            }
        }
但是bb[t.length()-i]容易出错考虑不出加的是否正确便在初始化是加了上去
                for(int i=0;i<s.length();++i){
            aa[i]=s[s.length()-i-1]-'0';
             sum[i]=aa[i];
        }
        for(int i=0;i<t.length();++i){
            bb[i]=t[t.length()-i-1]-'0';
            sum[i]+=bb[i];
        }
        int k=t.length()<s.length()?s.length():t.length(); 
        int ans=0;
        for(int i=0;i<=k;++i){
            if(sum[i]>=10){
                sum[i+1]+=sum[i]/10;
                sum[i]=sum[i]%10;
            }
        }
第三步:
逆序输出前面比叫顺利将for循环正序条件到过来了
        string a;
    for(int i=k;i>=0;--i){
            a+=sum[i]+'0';
		}
最后return a;
提交之后没有清除前导零又删除了前导零
bool flag=0;
int w=0;
string a;
for(int i=k;i>=0;--i){
  w=sum[i];
  if(w==0&&flag==0)
    continue;
  else
    flag=1;
       a+=sum[i]+'0';
		}
第五步:
直接判断s或t只有0的可能
if(s=="\0"||s=="0")
    return t;
if(t=="\0"||t=="0")
	return s;