791 高精度加法
给定两个正整数,计算它们的和。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的和。
数据范围
1≤整数长度≤100000
输入样例:
12
23
输出样例:
35
#include <stdio.h>
#include <string.h>
#define lenMAX 100000
int main(){
char t1[lenMAX+1],t2[lenMAX+1];
scanf("%s %s",t1,t2);
int n=strlen(t1),m=strlen(t2),carry=0,t,i,j,a[n],b[m],c[lenMAX+1],k=0;
for(i=0;i<n;i++) a[i]=t1[i]-'0';
for(j=0;j<m;j++) b[j]=t2[j]-'0';
while(i>0 && j>0){
t=a[--i]+b[--j]+carry;
c[k++]=t%10;
carry=t/10;
}
while(i>0){ //二者最多有一个右剩余
t=a[--i]+carry;
c[k++]=t%10;
carry=t/10;
}
while(j>0){
t=b[--j]+carry;
c[k++]=t%10;
carry=t/10;