前言
菜鸟的学习笔记,在之前就有做过高精度的乘法运算以及高精度阶乘运算,现在再写一遍加深一下印象。有错指出,虚心接受。
一、思考如何实现高精度乘法
因为C语言中无法直接计算很大的数字,所以另辟蹊径,用数组存储大数字,然后一位一位进行计算,就像用笔计算一样。这是大致的思考方向,接下来就用代码来实现。
二、代码实现
1.设置好需要的数组和一些变量
这里我们用a和b数组来存储需要计算的两个大数字,因为在C语言中字符数组可以直接输入字符串进去,如果用数字数组的话就需要一位一位去输入,很麻烦。但是这样存进去的数字是字符形式的,所以用第三块代码来转换为数字并存储到num1和num2数字数组中,并从最后一个位置存方便计算。
int num1[1000]={
0},num2[1000]={
0},num[1000]={
0},sum[1000]={
0};
char a[1000]={
0},b[1000]={
0};
scanf("%s%s",a,b);
int l1=strlen(a);
int l2=strlen(b);
int i=0;
for(;i<l1;i++)
num1[999-i]=a[l1-1-i]-'0';
for(i=0;i<l2;i++)
num2[

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



