A+B (I)
Description
学过《计算机科学导论》的你应该熟悉“二进制运算”吧?
和十进制不同的是:二进制运算“逢二进一”。下面举一个二进制加法的运算实例:
下面请你模拟这个过程。
Input
第一行输入一个正整数(1≤T≤10),表示接下来有 T 组数据;
接下来 T 行,每行输入两个二进制串 a 和 b 中间用空格隔开,保证它们长度 1 ≤|a|, |b|≤10^5 并且没有前导 0。
Output
对于每组数据,请按模拟二进制加法,按题目描述的格式输出正确的运算结果,注意换行,没有多余的空格和换行。
实现代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char a[100000+50]={
0},b[100000+50]={
0};
int sum[100000+50]={
0};
int i;
int main()
{
int T;
int l1,l2,cha;
int m,flag;
scanf("%d",&T);
while (T--)
{
memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(sum,0,sizeof(sum));
scanf("%s %s",a,b);
l1=strlen(a);l2=strlen(b);
if (l1>=l2)
{
flag=0;
cha=l1-l2;
for (m=l1-1;m>=0;m--)
{