求一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)