《C语言课程设计》课程设计报告--大数乘法运算

《C语言课程设计》课程设计报告--大数乘法运算

ID:35575502

大小:278.50 KB

页数:19页

时间:2019-03-29

《C语言课程设计》课程设计报告--大数乘法运算_第1页
《C语言课程设计》课程设计报告--大数乘法运算_第2页
《C语言课程设计》课程设计报告--大数乘法运算_第3页
《C语言课程设计》课程设计报告--大数乘法运算_第4页
《C语言课程设计》课程设计报告--大数乘法运算_第5页
资源描述:

《《C语言课程设计》课程设计报告--大数乘法运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、安徽师范大学通信工程专业《C语言课程设计》课程设计报告题目大数乘法运算学号姓名年级专业2011级通信工程指导教师完成日期2012年6月1日安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity19安徽师范大学通信工程专业1、课题背景及意义随着计算机网络技术的发展和因特网的广泛普及,网络安全事故逐年增加,黑客的攻击已经和病毒并列成为对信息安全影响最严重的两大危害。其很大程度上是被黑客破解了用户的计算机名及登陆密码及资料的加密较

2、差,而使得黑客来对网民的资料如同自己般的随意更改和破坏。而安全的密码和账号成为了网民的安全之本,怎么才能提高安全问题成为的人们和社会关注的问题。而加密大部又是以大素数的计算为基础的,如非对称密码体制RSA的安全性依赖于对大数进行因数分解的耗时性。大数运算不仅仅运用在密码学中,还运用在一些物理学研究、生物学,化学等科目中。大数运算,意味着参加的值和计算结果通常是上百位数,上千位数以及更大长度之间的整数运算。例如大家所熟知圆周率π的值,在一般的数值计算中用到圆周率的不须要多大的精度,但在计算一些星球或是星系上的体积面积时便显的

3、误差很大了,这就要求π值计算的精度达到几百万位甚至更高,才能缩小误差。人工计算是远远不行了,而且本身误差也无法估计。只有在计算机中用大数运算求π值了。又如,考古学家计算石头内的碳元素衰变来考证地球形成的时间,更是将计算的结果精确到了百年以内。所以说大数的运算是涉及领域多,应用范广,与我们生活息息相关。19安徽师范大学通信工程专业《C语言课程设计》是一门实践性的计算机课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据C语言的特点,学会软件设计的方法

4、,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的软件设计技能。通过这次课程设计,要求掌握软件的设计方法,相应数据结构的选择应用、算法的设计及其实现和性能分析等方面中加深对课程基本内容的理解。同时,在软件设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。2、目的要求:在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的

5、编程风格,培养在软件开发中相互合作的团队意识。3、课题要求1、用一个整型数组表示一个大数,数组的每个元素存储大数的一位数字,则实际的大数d表示为:d=a[k]×10k-1+a[k-1]×10k-2+…+a[2]×10+a[1]其中a[0]保存该大数的位数。2、实现两个大数相乘;3、在此基础上实现两个大数相除。4、设计目标19安徽师范大学通信工程专业用数组表示每一个大数,同时实现大数相乘和两个大数相除概要设计1、问题解决的思路概述首先是确定结构化程序设计的流程图,利用已存在的数据结构来构造一个存储大数的结构,接着把运算分成乘

6、、除两个主要的模块:实现乘法的模块、实现除法的模块,然后各个模块里面还要分成若干种情况来考虑并通过函数的嵌套调用来实现其功能。最后,编写main主函数以实现大整数的正确输入与正确输出,调试程序并将不足的地方加以修改。总而言之,就是先用自顶向下、逐步细化的设计方法来分析并画出程序设计流程图;然后用自下而上、逐步积累的设计方法来写出程序。2、本程序下定义的相关函数1、voidjia(char*ch1,char*ch2,char*ch3)//大数相加函数,作用为将ch1、ch2之和存入ch32、voidcheng(char*ch

7、1,char*ch2,char*ch3)//定义函数cheng用来算乘法,ch1,ch2,ch3分别是被乘数字符串、乘数字符串、和结果字符串的首指针4、voidchu(char*ch1,char*ch2,char*ch3)3、voidMod(char*ch1,char*ch2);/*声明存储两个操作数的字符串ch1,ch2声明各个子函数*/19安徽师范大学通信工程专业3、主程序的流程基函数调用说明1)、主程序的简要流程图:获取大数(字符型)将返回的运算结果转换成字符类型数据输出的运算结果结束调用相应的运算程序进行大数运算将

8、字符型大数转换成所定义的结构体类型大数main()选择运算方式(*,/)详细设计1、数字存储的实现大数计算的因数和结果精度一般是少则数十位,多则几万位。在C语言中定义的类型中精度最多只有二十多位,此次程序采取定义一个结构体类型存贮的方式来存放大数符号。1、二则运算算法19安徽师范大学通信工程专业在大数二

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

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

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