HZNUOJ2129这是压轴题

Description

给定两个数a,b,输出a+b

Input

 

有T组输入

对于每组输入有两个非负整数a,b(<=10^210)

 

Output

对于每组数据输出a+b

input Copy

2 1 1 2 2

output Copy

2 4

注意此题的数据范围,所以不可以用int 或者long long int 直接相加;

此题要运用到字符串来完成相加

将各个位的十进制数字转化为字符类型,用acsii码转化,进行相加减,

求出答案上各个位的数字,粘连成字符串输出即可

#include

#include

int main(void){

int a1,b1,c1,s,N;

char a[1000],b[1000],c[1001];

scanf("%d",&N);

while(N--){

s=0;

scanf("%s%s",a,b);

a1=strlen(a);

b1=strlen(b);

c1=a1>b1?a1:b1;

for(int i=1;i<=c1;i++)

{

s=s+(a1>=i?a[a1-i]-'0':0)+(b1-i>=0?b[b1-i]-'0':0);

c[c1-i]=s%10+'0';

s/=10;

}

c[c1]=0;

if(s>0) printf("1");

printf("%s\n",c);

}

}

你可能感兴趣的:(HZNUOJ2129这是压轴题)