题目:使用数组完成两个超长(长度小于100)正整数的乘法
程序思路:大数相乘有很多的算法,但是为了代码的可读性就选了
定义三个数组,一个存放被乘数a[ ],一个存放乘数b[ ],一个存放结果c[ ]。结果数组c[ ]的位数为a,b数组长度之和(两数相乘后最大位数),根据公式c[i+j+1]=a[i]+b[j] (注意:输入时,输入数据的最低位在数组的最高位,要反向输出)
程序代码:
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#define N 100
void MulNumstr(char[],char[],char[]);
void main()
{
char a[N+1],b[N+1],c[N+N+1];
printf("输入两个超大数: ");
scanf("%s%s",a,b);
MulNumstr(a,b,c);
printf("%s\n&#