大数加法

62 阅读1分钟
#include<stdio.h>
#include<string.h> 
int main()
{
	char str1[110],str2[110];
	int a[110];
	int i,j,k,t,len1,len2;
	while(scanf("%s%s",str1,str2)!=EOF)
	{
		len1=strlen(str1);
		len2=strlen(str2);
		i=j=k=t=0;
		while(i<len1&&j<len2)
		{
			a[k++]=(str1[len1-1-i]-'0'+str2[len2-1-j]-'0'+t)%10;
			t=(str1[len1-1-i]-'0'+str2[len2-1-j]-'0'+t)/10;
			i++;
			j++;
		}
		while(i<len1)
		{
			a[k++]=(str1[len1-1-i]-'0'+t)%10;
			t=(str1[len1-1-i]-'0'+t)/10;
			i++;
		}
		while(j<len2)
		{
			a[k++]=(str2[len2-1-j]-'0'+t)%10;
			t=(str2[len2-1-j]-'0'+t)/10;
			j++;
		}
		while(t)
		{
			a[k++]=t%10;
			t/=10;
		}
		for(i=k-1;i>=0;i--)
			printf("%d",a[i]);
		printf("\n");	
	}
	return 0;
}