C语言 大整数A*B 简单代码

 1 #include<stdio.h>

 2 #include<string.h>

 3 int main()

 4 {

 5     int a[1000],b[1000],c[1000],i,j,k1,k2;

 6     char  st1[1000],st2[1000];

 7     scanf("%s%s",st1,st2);

 8     

 9         memset(a,0,sizeof(a));

10         memset(b,0,sizeof(b));

11         memset(c,0,sizeof(c));

12         k1=strlen(st1);

13         k2=strlen(st2);

14         for(i=0;i<=k1-1;i++)

15             a[i]=st1[k1-i-1]-'0';

16         for(i=0;i<=k2-1;i++)

17             b[i]=st2[k2-i-1]-'0';

18         for(i=0;i<=k1-1;i++)

19             for(j=0;j<=k2-1;j++)

20                 c[i+j]+=a[i]*b[j];

21         for(i=0;i<=k1+k2-1;i++)

22         {

23             if(c[i]>9)

24             {

25                 c[i+1]+=c[i]/10;

26                 c[i]=c[i]%10;

27             }

28         }

29         j=k1+k2;

30         while(c[j]==0&&j>0)

31          j--;

32         for(i=j;i>=0;i--)

33             printf("%d",c[i]);

34         printf("\n");

35     

36     return 0;

37 }

 

你可能感兴趣的:(C语言)