求一C语言编程:求两个大数的乘积。

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:07:20

看到这个问题后编啦两天才出来
  兄台真的累啊
  我是个新手 有些累赘的地方或不足的地方多多包涵
  /* 大数相乘 */
  #include "stdio.h"
  void main()
  {
  char a[100],b[100];
  int i,j,k,l,m,t,n,h,f,a1[100],b1[100],c[100][100]={0},d[100];
  printf("Input the first Number:"); //以字符形式输入第一个大数
  for(i=0;;i++)
  {
  a[i]=getchar();
  if(a[i]=='\n') break;
  }
  printf("Input the second Number:"); //以字符形式输入第二个大数
  for(j=0;;j++)
  {
  b[j]=getchar();
  if(b[j]=='\n') break;
  }
  for(k=0;k<i;k++) //字符转换成数组
  {
  a1[k]=a[k]-48;
  }
  for(k=0;k<j;k++)
  {
  b1[k]=b[k]-48;
  }
  for(k=i-1;k>=0;k--) //数组1的每位数分别乘数组2
  {
  h=0;
  for(l=j-1,m=0;l>=0;m++) //******
  {
  f=100-(i-1-k)-m;
  t=c[k][f]=h+a1[k]*b1[l--];
  c[k][f]=t%10;
  h=t/10;
  }
  if(t>=10)