#include<stdio.h>
#include<string.h>
int main() {
char a[201],b[201],h;//定义两个字符串,用来储存输入的数
int c,d,e,f,i,j,k[202]={0},l,m=0,n=0;//定义一个数组来储存要输出的数,注意数组的长度
gets(a);
gets(b);
c=strlen(a);
d=strlen(b);
if(c<d) e=d;
else e=c;//考虑到两个字符串的长度可能不相同,需要选择长度长的那个来定义数组的长度
for(i=0;i<c/2;i++) {
h=a[c-1-i];
a[c-1-i]=a[i];
a[i]=h;
}
for(i=0;i<d/2;i++) {
h=b[d-1-i];
b[d-1-i]=b[i];
b[i]=h;
}//将两个字符串倒置过来
if(e==c) {
for(i=d;i<e;i++) {
b[i]=‘0’;
}
}
else {
for(i=c;i<e;i++) {
a[i]=‘0’;
}//注意将零补充在长度较短的字符串中
}
for(i=0;i<e;i++){//开始计算,注意进一
f=a[i]-‘0’+b[i]-‘0’+k[i];
if(f/10>0) {
k[i]=f%10;
k[i+1]=1;
}
else k[i]=f;
}//将数组k倒置过来
for(i=0;i<(e+1)/2;i++) {
l=k[e-i];
k[e-i]=k[i];
k[i]=l;
}
i=0;
while(k[i]0) {
m=i+1;
i++;
}//去除k数组中的前导0
for(i=0;i<e+1;i++) {
if(k[i]!=0) n=1;
}
if(n1) {//考虑输入全为0的情况
for(i=m;i<e+1;i++) {
printf("%d",k[i]);
}
}
else{
printf(“0\n”);
}
return 0;
}