数据结构课程设计大数相乘等大学论文 .doc

数据结构课程设计大数相乘等大学论文 .doc

ID:11056042

大小:154.29 KB

页数:47页

时间:2018-07-09

数据结构课程设计大数相乘等大学论文  .doc_第1页
数据结构课程设计大数相乘等大学论文  .doc_第2页
数据结构课程设计大数相乘等大学论文  .doc_第3页
数据结构课程设计大数相乘等大学论文  .doc_第4页
数据结构课程设计大数相乘等大学论文  .doc_第5页
资源描述:

《数据结构课程设计大数相乘等大学论文 .doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《数据结构》课程设计报告班级学号47/47姓名指导教师47/47课题一、大数相乘一、问题描述要求:输入两个较大的整数,进行乘法运算,能够通过程序计算出其正确的结果,并输出结果,使整数相乘不受计算机内存空间的限制。二、设计思路及步骤1、首先,要输入两个大数,所以在voidmultil()大数相乘操作函数中,定义两个字符型数组A[N]和B[N],其中,N为数组的最大长度,以字符串的形式来记录这两个较大的整数,定义字符型指针res记录这两个整数相乘结果的返回地址,用于输出结果。2、在大数乘法计算过程中,首先,将字符串各位的字符先转化为所对应的数字,然后再进行一系列的计算,由于整数乘法

2、计算是从低位到高位依次计算,所以为符合这一规律,先对两个大数字符串先进行逆序操作(voidswap(char*str,intp,intq)逆序操作函数),最后再将所得的结果进行逆序操作,并输出结果。3、在char*LargeNum_multi(char*A,char*B)大数相乘函数中,分别定义整型变量m和n分别记录数组A[N]和数组B[N]的长度,定义字符型指针变量result记录两大数相乘后的地址用于返回地址,result的最大长度为(m+n),定义整型变量multiFlag和addFlag分别表示乘法进位和加法进位,初始化均为0,在之后的运算过程中记录乘法进位和加法进位。

3、三、函数清单voidswap(char*str,intp,intq);//逆序操作函数voidmenu();//菜单函数voidmultil();//大数相乘操作函数char*LargeNum_multi(char*A,char*B);//大数相乘函数四、源程序代码#include#include#include#defineN100voidswap(char*str,intp,intq);//逆序voidmenu();//菜单voidmultil();//大数相乘操作47/47char*LargeNum_multi(

4、char*A,char*B);//大数相乘voidswap(char*str,intp,intq)//逆序{chartemp;while(p='1'&&A[0]<='9')&&(B[0]>='1'&&B[0]<='9'))//正&&正{intm=strlen(A);intn=strlen(B);inti;char*result;intmultiFlag;//乘积进位intadd

5、Flag;//加法进位result=(char*)malloc(sizeof(char)*(m+n+1));47/47for(i=0;i

6、inttemp2=(result[i+j]-'0')+temp1+addFlag;addFlag=temp2/10;result[i+j]=temp2%10+'0';}result[i+m]+=multiFlag+addFlag;//最高位}swap(result,0,m+n-1);//逆序returnresult;}elseif(A[0]=='-'&&B[0]=='-')//负&&负{47/47LargeNum_multi((A+1),(B+1));}elseif(A[0]=='-'&&(B[0]>='1'&&B[0]<='9'))//负&&正{printf("-");Lar

7、geNum_multi((A+1),B);}elseif(B[0]=='-'&&(A[0]>='1'&&A[0]<='9'))//正&&负{printf("-");LargeNum_multi(A,(B+1));}elseif(B[0]=='0'&&(A[0]>='1'&&A[0]<='9'))//正&&0{printf("0");menu();}elseif(A[0]=='0'&&(B[0]>='1'&&A[0]<='9'))//0&&正{printf("0");menu();}else4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。