原题链接:蓝桥杯算法提高VIP-高精度乘法
解题思路:
怎么说呢!结构很巧妙,自行领会吧!
注意事项:
注意:数组长度一定一定要一万以上,不然就会出现
Segmentation fault:段错误,检查是否有数组越界,指针异常,访问到不应该访问的内存区域
表示原来不知道都快想哭了,啊吼吼吼,爽
参考代码:
#include<stdio.h> #include<string.h> #define H 10000 char mulfun(char a[],char b[]) { int a1[H],b1[H],c[2*H]; int i=0,j=0,m,n; memset(a1,0,sizeof(a1)); memset(b1,0,sizeof(b1)); memset(c,0,sizeof(c)); while(*a){a1[i]=*a-48;a++;i++;} while(*b){b1[j]=*b-48;b++;j++;} n=i;m=j; for(i=0;i<n;i++) for(j=0;j<m;j++) c[i+j]+=a1[i]*b1[j]; for(i=m+n-1;i>0;i--) { c[i-1]=c[i-1]+c[i]/10; c[i]=c[i]%10; } for(i=0;i<m+n-1;i++)printf("%d",c[i]); return 0; } int main() { char a[H],b[H]; scanf("%s%s",a,b); mulfun(a,b); return 0; }
感觉代码对你有用的话,留下你的赞赞吧(#^.^#)
0.0分
6 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复