I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
2 1 2 112233445566778899 998877665544332211
Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
大正整数加法,没有负数,难度小了很多,没什么难度,
#include<iostream> #include<cstdio> #include<cstring> using namespace std; char a[1001]; char b[1001]; int c[1005]; int main() { int t,i,j,len1,len2,flag,num=1; cin>>t; while(1) { t-=1; cin>>a>>b; for(i=0;i<1005;i++) { c[i]=0; } len1=strlen(a); len2=strlen(b); for(i=len1-1,j=0;i>=0;i--,j++) { c[j]+=a[i]-'0'; } for(i=len2-1,j=0;i>=0;i--,j++) { c[j]+=b[i]-'0'; }flag=0; for(i=1004;i>=0;i--) { if(c[i]!=0) { flag=i; break; } } for(i=0;i<=flag;i++) { if(c[i]>9) { if(i==flag) { flag+=1; } c[i+1]+=c[i]/10; c[i]=c[i]%10; } } cout<<"Case "<<num<<":"<<endl; num+=1; cout<<a<<" + "<<b<<" = "; for(i=flag;i>=0;i--) { cout<<c[i]; } cout<<endl; if(t!=0) { cout<<endl; } else { break; } } return 0; }