Problem 1499. -- 大正整数的加法

1499: 大正整数的加法

Time Limit: 1 Sec  Memory Limit: 65535 MB   64bit IO Format: %lld
Submitted: 235  Accepted: 28
[Submit][Status][Web Board]

Description

对于C语言无法正确表示的大整数可用一维数组表示。假设要处理的大整数均为正数,将其从低位到高位每4位一组(最后一组可能不足4位),每组作为1个整数存入数组。
如大整数2543698845679015847在数组a中a[0]~a[5]分别为:5847,7901,8456,3698,254,-1(-1表示分组结束)。
你的任务是:给定2个大整数,输出它们的和。
【注意】提交代码不需要包含main函数,只需提交main函数外的其它部分。Main函数如下。
int main()
{
    char s1[110],s2[110]; //存放2的大整数的字符串
    //数组a和b分别用来存放转换后的2个大整数
//数组c用来存放2个大整数的和
    int a[30],b[30],c[30];
int T;        //T表示测试数据的组数
    scanf("%d",&T);
    while(T--)
    {
        scanf("%s%s",s1,s2);
        fun(s1,a);  fun(s2,b);  //将大整数字符串转换成用数组的形式来存放
        add(a,b,c); //计算大整数a和b的和,结果存放到c中
        print(c);   //输出大整数c
    }
    return 0;
}

Input

第一行给出测试数据的组数
每组测试数据包括2行,每行一个由数字字符构成的字符串(长度不超过100),分别代表2个大整数。

Output

每组测试数据额输出占一行,包含一个大整数。

Sample Input

2
123456789
22222222222
1111111111111111
3333333333333

Sample Output

22345679011
1114444444444444

Source

[Submit][Status][Web Board]