程序设计强化训练----高精度乘法(持续更新)C语言

#include<stdio.h>
#include<string.h>

int main()
{
	char a[202]={0},b[202]={0};
	scanf("%s%s",a,b);
	int a1[202]={0},b1[202]={0},c1[405]={0},i,j;
	int alen=strlen(a),blen=strlen(b);
	for(i=0;i<alen;i++)
	{
		a1[i]=a[alen-1-i]-'0';
	}
	for(i=0;i<blen;i++)
	{
		b1[i]=b[blen-1-i]-'0';
	}
	
	for(i=0;i<alen;i++)
	{
		for(j=0;j<blen;j++)
		{
			c1[i+j]+=a1[i]*b1[j];
		}
	}
	for(i=0;i<alen+blen;i++)
	{
		if(c1[i]>=10)
		{
			c1[i+1]+=c1[i]/10;
			c1[i]%=10;
		}
		
	}
	while(!c1[i] && i)
	{
		i--;
	}
	for(;i>=0;i--)
	{
		printf("%d",c1[i]);
	}

}

猜你喜欢

转载自www.cnblogs.com/Myrecord-7/p/12521584.html