一、检查输入000和00相加是否出结果。
二、数组不要开小了,亲测256的数组不够。推荐1024。
附录AC程序:如果不能AC请将256改为1024,255改为1023。
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char *argv[])
{
int a[256],b[256];
char ch;
int i=255,m,n,num;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
while((ch=getchar())!='\n'){//输入
a[i]=ch-48;
i--;//此时i为数的实际个数
}
m=i+1;
i=255;
while((ch=getchar())!='\n'){
b[i]=ch-48;
i--;
}
n=i+1;
num=m;//重序+清零
i=1;
while(i<num&&num<256){
a[i]=a[num];
a[num]=0;
i++;
num++;
}
num=n;
i=1;
while(i<n&&num<256){
b[i]=b[num];
b[num]=0;
i++;
num++;
}
i=1;
while(i<256){
a[i]+=b[i];
if(a[i]>9){
a[i]-=10;
a[i+1]+=1;
i++;
}else
i++;
}
int flag=0;
for(int k=255;k>0;k--){
if(a[k]&&!flag)
flag=1;
if(flag)
cout<<a[k];
}
if(!flag)
cout<<0;
cout<<endl;
return 0;
}