简单的大数问题
不是很难
代码如下
#include <stdio.h>
#include <string.h>
int an1[1001];
int an2[1001];
char s1[1001];
char s2[1001];
void main()
{
int a,d=0;
int i,j;
int n2,n;
int n1,t;
scanf("%d",&a);
while(a--)
{
t=0;
t=a;
memset( an1, 0, sizeof(an1));
memset( an2, 0, sizeof(an2));
scanf("%s%s",s1,s2);
n1=strlen(s1);
n2=strlen(s2);
n = n1>n2?n1:n2;
d++;
printf("Case %d:\n",d);
printf("%s + %s = ",s1,s2);
for(j=0,i=n1-1;i>=0;i--)
an1[j++]=s1[i]-'0';
for(j=0,i=n2-1;i>=0;i--)
an2[j++]=s2[i]-'0';
i = 0;
while(i <= n1 - 1 && i <= n2 - 1)
{
an1[i]+=an2[i];
if( an1[i] >= 10 )
{
an1[i]-=10;
an1[i+1]++;
}
i++;
}
while(i <= n2 - 1 )
{
an1[i]+=an2[i];
if( an1[i] >= 10 )
{
an1[i]-=10;
an1[i+1]++;
}
i++;
}
while(i<= n1 -1)
{
if( an1[i] >= 10 )
{
an1[i]-=10;
an1[i+1]++;
}
i++;
}
if(an1[i] > 0) n++;
for(i=n-1;i>=0;i--)
printf("%d",an1[i]);
printf("\n");
if(a>0)
printf("\n");
}
}
我hdu 的号叫做阿迪达斯
poj 叫1759432774a
QQ号是1759432774 愿意加我,我们讨论
有兴趣可以看看我