问题描述
输入两个正整数a,b,输出a+b的值。
输入格式
两行,第一行a,第二行b。a和b的长度均小于1000位。
输出格式
一行,a+b的值。
样例输入
4
2
2
样例输出
6
#include <iostream.h> #include <string.h> #define MAX 1000 void main() { char a[MAX]; char b[MAX]; char c[MAX]; memset(a,'0',sizeof(a)); memset(b,'0',sizeof(b)); memset(c,'0',sizeof(c)); cin>>a; cin>>b; int la,lb; la = strlen(a); lb = strlen(b); int t=0;//进位 int r; int i,j; int sum = 0; for(i=la-1,j=lb-1;i>=0||j>=0;i--,j--) { r = (a[i]-'0')+(b[j]-'0')+t; c[sum++] = r%10+'0'; t = r/10; } if(t>0) cout<<t; if(la>lb) { for(i=strlen(a)-1;i>=0;i--) { cout<<c[i]; } } else { for(i=strlen(a)-1;i>=0;i--) { cout<<c[i]; } } cout<<endl; }