#include <stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char A[1000] = "0";
char B[1000] = "0";
int T,sta,stb,temp,ret,num,a;
ret = 0;
while (scanf_s("%d", &T) != EOF)
{
for (int i = 1; i <= T; i++)
{
scanf_s("%s%s", A,sizeof(A), B, sizeof(B));
sta = strlen(A), stb = strlen(B);
num=temp = sta > stb ? sta : stb;
char* s = (char*)malloc((temp + 2) * sizeof(char));
s[temp + 1] = '\0',s[0]='0';
while (sta > 0 && stb > 0)
{
a = (A[sta - 1] - '0') + (B[stb - 1] - '0')+ret;
ret = a / 10;
s[temp--] = a % 10 + '0';
sta--, stb--;
}
while (sta > 0)
{
a = (A[sta - 1] - '0') + ret;
ret = a / 10;
s[temp--] = a % 10 + '0';
sta--;
}
while (stb > 0)
{
a = (B[stb - 1] - '0') + ret;
ret = a / 10;
s[temp--] = a % 10 + '0';
stb--;
}
if (ret)
s[0] = '1';
else
{
for (int i = 0; i < num; i++)
s[i] = s[i + 1];
s[num] = '\0';
}
printf("Case %d:\n", i);
printf("%s+%s=%s\n", A, B, s);
printf("\n");
}
}
return 0;
}
杭电oj 1002 C语言
于 2023-11-07 16:03:04 首次发布