lab104_2

高精度加法,相乘之後判斷是否大於10就好了
#include<iostream> 
#include<cstdio> 
#include<cstring> 
using namespace std; 
int main() 
{ 
	char a1[500],b1[500]; 
	int a[500],b[500],c[1000],la,lb,lc,x,i,j; 
	while ((scanf("%s",a1))!=EOF)
	{     
		scanf("%s",b1);   
		memset(a,0,sizeof(a)); 
		memset(b,0,sizeof(b)); 
		memset(c,0,sizeof(c)); 
		la=strlen(a1); 
		lb=strlen(b1); 
		for(i=0;i<la;i++) a[la-i]=a1[i]-48; 
		for(i=0;i<lb;i++) b[lb-i]=b1[i]-48; 
		for(i=1;i<=la;i++)
		{
			x=0;
			for(j=1;j<=lb;j++)
			{
				c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
				x=c[i+j-1]/10;
				c[i+j-1]%=10;
			}
			c[i+lb]=x;
		}
		lc=la+lb;
		while(c[lc]==0&&lc>1)lc--;
		for(i=lc;i>=1;i--) 
			cout<<c[i];
		cout<<endl;                                                                             }  
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章