HDOJ 1002
#include <iostream>
#include <string.h>
using namespace std;
char s1[1100];
char s2[1100];
int a[1100];
int b[1100];
int sum[1100];
int main()
{
int loop;
cin>>loop;
for(int lbs=0;lbs<loop;lbs++)
{
int lens1=0,lens2=0;
int i,j;
memset(s1,-1,sizeof(s1));
memset(s2,-1,sizeof(s2));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(sum,0,sizeof(sum));
cin>>s1>>s2;
for(i=0;s1!='\0';i++)
lens1=i;
// cout<<"s1 NO:"<<lens1<<endl;
for(i=0;s2!='\0';i++)
lens2=i;
// cout<<"s2 NO:"<<lens2<<endl;
j=0;
for(i=lens1;i>=0;i--)
a[j++]=s1-48;
// cout<<j<<endl;
j=0;
for(i=lens2;i>=0;i--)
b[j++]=s2-48;
// cout<<j<<endl;
/*
for(i=0;i<=lens1;i++)
cout<<a;
cout<<endl;
for(i=0;i<=lens2;i++)
cout<<b;
cout<<endl;
*/
int c=0;
for(i=0;i<1100;i++)
{
int m=a+b+c;
c=m/10;
sum=m%10;
}
int k=0;
for(i=1099;i>=0;i--)
if(sum!=0)
{
k=i;
break;
}
cout<<"Case "<<lbs+1<<":\n";
for(i=0;i<=lens1;i++)
cout<<s1;
cout<<" + ";
for(i=0;i<=lens2;i++)
cout<<s2;
cout<<" = ";
for(j=k;j>=0;j--)
cout<<sum[j];
if((lbs+1)!=loop)
cout<<endl<<endl;
else
cout<<endl;
}
return 0;
}
大精度加法运算;
结尾只能有一个空格!!!!