您的位置:首页 > 其它

hdu 1002 大数问题

2013-08-18 12:04 435 查看
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1010;
void exchange(char *p,int m)
{
int n=(m-1)/2;
for(int i=0;i<=n;i++)
{       int t;
t=*(p+i);
*(p+i)= *(p+m-1-i);
*(p+m-1-i)=t;
}
}
int main()
{
char a
,b
,c[N+1];
int T,la,lb,lc,i,j,k,t=0;
cin>>T;
while(T--)
{
memset(c,0,sizeof(c));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%s",a);
scanf("%s",b);
printf("Case %d:\n",++t);
printf("%s + %s = ",a,b);

la=strlen(a);
lb=strlen(b);
exchange(a,la);
exchange(b,lb);
for(int i=0;i<la;i++)
c[i]+=a[i]-'0';
//	c[i]=a[i];
//   cout<<a<<endl;
for(int i=0;i<lb;i++)
{
c[i+1]+=(c[i]+b[i]-'0')/10;
c[i]=(c[i]+b[i]-'0')%10;
}
int i;
for(i=N;i>=0;i--)
if(c[i])
break;
exchange(c,i+1);
for(int j=0;j<=i;j++)
c[j]+='0';
c[i+1]='\0';
printf("%s\n",c);
if(T) printf("\n");

}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: