高精度加法,相乘之後判斷是否大於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; }
}
lab104_2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.