#include <iostream> #include <cstdio> #include <cstring> using namespace std; #define N 1000 char s1[N]; char s2[N]; int main() { int k,i,j; int l1,l2; int a[N]={0}; int b[N]={0}; gets(s1); //getchar() //不用这个玩意,有的话会吞掉下一个字符串的第一个字符 gets(s2); l1=strlen(s1); l2=strlen(s2); if(l1>=l2) k=l1; else k=l2; for(i=k,j=l1-1;j>=0;i--,j--) a[i] = s1[j]-'0';//把字符按照ASCLL码表的位置转换成整形大小 for(i=k,j=l2-1;j>=0;i--,j--) //逆序相加,从最大位k相加,留出a[0],补充可能的进位 b[i] = s2[j]-'0'; for(i=k;i>0;i--){ a[i]+=b[i]; if(a[i]>9){ a[i]-=10; a[i-1]++;} //进位 } if(a[0]){ for(i=0;i<=k;i++){ cout<<a[i];}} else{ for(i=1;i<=k;i++){ cout<<a[i];} } }