一、检查输入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];//这是不够的,改为1024就可以AC了 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; }