小墨在努力!!
吗了个b的。。。。。

高精度。。。。

#include <stdio.h>
#include <string.h>
int sum[1000];
void add (char a[] ,char b[])
{
int i = strlen(a) - 1 ,j = strlen (b) - 1;
int x = 0 ,s ,k = 0;
while (i >= 0 && j >= 0)
{
s = a[i--] + b[j--] - 96 + x ;
sum[k++] = s % 10 ;
x = s / 10 ;
}
if (j == -1)
while (i >= 0)
{
s = a[i--] - 48 + x ;
sum[k++] = s % 10 ;
x = s / 10 ;
}
if (i == -1)
while (j >= 0)
{
s = b[j--] - 48 + x ;
sum[k++] = s % 10 ;
x = s / 10 ;
}
if (x)
sum[k] = x ;
else
k = k - 1 ;
for (i = k ;i >= 0 ;i--)
printf ("%d",sum[i]);
}
int main ()
{
int t ,i;
char a[1000] ,b[1000];
scanf ("%d",&t);
for (i = 1 ;i <= t ;i++)
{
memset(a , '0' ,sizeof (a));
memset(b , '0' ,sizeof (b));
scanf ("%s%s",a ,b);
printf ("Case %d:\n%s + %s = ",i ,a ,b);
add (a ,b);
printf ("\n");
if(i != t)printf("\n");
}
return 0;
}

 

posted on 2012-02-13 18:50  小墨在努力!!  阅读(136)  评论(0编辑  收藏  举报