读入用字符串,然后保存到数组里面(从后面往前存),然后利用数组每一位进行相加,输出时候要逆向输出
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int t,len,s;
int l1,l2;
int j,k;
int sum[1010],a[1010],b[1010];
string str1,str2;
char ch='0';
cin>>t;
for(int i=1;i<=t;i++){
cin>>str1>>str2;
l1=str1.size();
l2=str2.size();
memset(sum,0,sizeof(sum));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(k=0,j=l1-1;j>=0;j--)
a[j]=str1[k++]-48;
for(k=0,j=l2-1;j>=0;j--)
b[j]=str2[k++]-48;
len=0;
int max=l1>l2?l1:l2;
for(j=0,k=0;j<max&&k<max;j++,k++,len++){
sum[len]+=(a[j]+b[k]);
if(sum[len]>=10){
sum[len]=sum[len]%10;
sum[len+1]++;
}
}
cout<<"Case "<<i<<":"<<endl;
for(j=l1-1;j>=0;j--)
cout<<a[j];
cout<<" + ";
for(j=l2-1;j>=0;j--)
cout<<b[j];
cout<<" = ";
for(j=len-1;j>=0;j--)
cout<<sum[j];
cout<<endl;
if(i!=t)
cout<<endl;
}
return 0;
}