1. 程式人生 > >杭電ACM oj 1002 大數相加,求助

杭電ACM oj 1002 大數相加,求助

杭電oj 1002題大數相加,格式與AC的相同,試了很多結果都是對的,但就是過不了,有大神幫忙看一下好嗎?謝謝!

#include<stdio.h>
#include<string.h>
int main(void)
{
char a[10000], b[10000], c[10010] = { 0 };
int i, j, k, r;
int t;

scanf("%d", &t);
for (i = 0; i < t; i++)
{
r = 0;
scanf("%s%s", a, b);
for (j = strlen(a) - 1, k = strlen(b) - 1; j >= 0 || k >= 0; j–, k–)
if (j >= 0 && k >= 0)
{
c[r] += (a[j] + b[k] - ‘0’ - ‘0’) % 10;
c[r + 1] += (a[j] + b[k] - ‘0’ - ‘0’) / 10;
r++;
}
else if (j >= 0)
{
c[r + 1] += (c[r] + a[j] - ‘0’) / 10;
c[r] = (c[r] + a[j] - ‘0’) % 10;
r++;
}
else
{
c[r + 1] += (c[r] + b[k] - ‘0’) / 10;
c[r] = (c[r] + b[k] - ‘0’) % 10;
r++;
}
printf(“Case %d:\n”, i + 1);
printf("%s + %s = “, a, b);
if (c[r] != 0)
{
printf(”%d", c[r]);
c[r] = 0;
}
for (r–; r >= 0; r–)
{
printf("%d", c[r]);
c[r] = 0;
}

if(i<t-1)
printf("\n\n");

}
return 0;
}