大数相加

原作者已经找不到了,但是我是从CSUST的博客栏中看到的,一个很好的模板。

我看到的文章来源(不是原出处):http://blog.csdn.net/csust_acm/article/details/7268029

//大数相加
#include <stdio.h>
#include<string.h>

int main()
{
	int i,d,j,d1;
	char a[100];int b[101]={0};int c[100]={0};
	// memset(b,0,sizeof(b));
	// memset(c,0,sizeof(c));
	scanf("%s",a);
	d=strlen(a);
	for(i=d-1,j=0;i>=0;i--)
		b[j++]=a[i]-'0';
	scanf("%s",a);
	d1=strlen(a);
	for(i=d1-1,j=0;i>=0;i--)
		c[j++]=a[i]-'0';
	
	if(d1>d)
		d=d1;
	for(i=0;i<d;i++)
	{
		b[i]=b[i]+c[i];
		if(b[i]>=10)
		{
			b[i]=b[i]%10;
			b[i+1]=b[i+1]+1;
		}
	}
	if(b[d]==1) 
	printf("%d",b[d]);
	for(j=d-1;j>=0;j--)
		printf("%d",b[j]);printf("\n"); 
	return 0;
}


你可能感兴趣的:(c)