void main()
{
char a[200],b[100],temp[100],temp1;
int lena,lenb,i;
int sum=0;
gets(a);
gets(b);
strrev(a);
strrev(b);
lena=strlen(a);
lenb=strlen(b);
if(lenb > lena) //两个大数进行比较,哪个小存在b数组中,大的在a数组中
{
strcpy(temp,b);
strcpy(b,a);
strcpy(a,temp);
temp1 = lena;
lena = lenb;
lenb = temp1;
}
for(i=0;i<lenb;i++) //进位处理
{
sum +=(a[i]-'0')+(b[i]-'0');
a[i] = sum%10 +'0';
sum /=10;
}
if(sum != 0) //最高位有进位
{
for(;i<lena;i++)
if(sum==0) break;
else
{
sum+=a[i]-'0';
a[i] = sum%10+'0';
sum/=10;
}
if(i==lena && sum!=0)
{ a[i] = sum+'0';a[++i]='\0';}
}
strrev(a); //将数字最高位到低为 从前排到后
puts(a);
}
{
char a[200],b[100],temp[100],temp1;
int lena,lenb,i;
int sum=0;
gets(a);
gets(b);
strrev(a);
strrev(b);
lena=strlen(a);
lenb=strlen(b);
if(lenb > lena) //两个大数进行比较,哪个小存在b数组中,大的在a数组中
{
strcpy(temp,b);
strcpy(b,a);
strcpy(a,temp);
temp1 = lena;
lena = lenb;
lenb = temp1;
}
for(i=0;i<lenb;i++) //进位处理
{
sum +=(a[i]-'0')+(b[i]-'0');
a[i] = sum%10 +'0';
sum /=10;
}
if(sum != 0) //最高位有进位
{
for(;i<lena;i++)
if(sum==0) break;
else
{
sum+=a[i]-'0';
a[i] = sum%10+'0';
sum/=10;
}
if(i==lena && sum!=0)
{ a[i] = sum+'0';a[++i]='\0';}
}
strrev(a); //将数字最高位到低为 从前排到后
puts(a);
}