欢迎来到天天文库
浏览记录
ID:30766947
大小:169.43 KB
页数:8页
时间:2019-01-03
《c课程设计报告假币问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1前言12需求分析12」课程设计目的12.2课程设计任务12.3设计环境22.4开发语言23分析和设计23.1模块设计23.2系统流程图23.3主要模块的流程图34具体代码实现55课程设计总结65.1程序运行结果65.2课程设计体会7参考文献7致谢71前吞C语言课程设计自利于对基础知识的理解。我们对于程序,程序与文档、数据的区别,计算机运行的机理等知识内容的理解比较肤浅。我们接触了程度设计,就能真正理解,从而进一步打破计算机的神秘感。课程设计有利于逻辑思维的锻炼。在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态。写起作文来前言不搭后语,解起数学题来步骤
2、混乱,这些都是缺乏思维训练的结果。程序设计是公认的、最能直接有效地训练学牛的创新思维,培养分析问题、解决问题能力的学科Z-O即使一个简单的程序,从分析任务、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这屮间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测口标等能力的培养。课程设计有利于与其他学科的整合在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术屮比较抽象很难理解的知识。在信息技术课屮整合其它学科的知识,发挥信息技术的优势。课程设计有利于治学态度的培养。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时
3、输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠詁格的锻炼2需求分析2.1课程设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一•定综合性问题的专业课题。通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。2.2课程设计任务在N(24、中,冇一枚是假币,通过一架天平來比较两组硬币,其称量次数为K(1':表示天平左边托盘中的硬币比右边托盘中的硬币重;(2)'表示天平左边托盘中的硕币比右边托盘中的硕币轻;(3)'二表示天平左边托盘和右边托盘一样重。编写程序,试图通过称量结果找出这枚假币,如杲能够找出假币,则输出如“xisthefalsecoin.v的提示,否则,输出"confus5、ed.”。2.3设计环境(1)WINDOWS2000/2003/XP/7/Vista系统(2)VisualGH■或TC集成开发环境2.4开发语言C语言3分析和设计3.1模块设计这个程序分为3个模块,模块一用于测试所分组的的硬币的质量。如果n为奇数,则留下一枚额外的硬币,将剩余硬币分为两组,如果n为偶数,则分成两组比较。模块二用于比较两组硬币的质量,若两组硬币质量一样,则留下的额外的硬币为假币;否则我们可以对较轻的一组硬币进行处理,即把硬币再分为两组,比较质量,直到找出假币,输出硬币中假币的位置。模块三为主函数,调用函数一与函数二,找出硬币中的假币,并输出假币的位置。3.2系统流程图P=co6、in2(a,0,n-1)调用函数coin2比较所分组的硕币的质量,找出假币(如图3.1所示).本程序通过if-else语句和for循环來实现的。先将硬币编号,再利用scanf语句输入耍称量的硬币个数和称量次数,不断循环,最终输出假币编号。3.3主要模块的流程图▼图3.2coin2流程图建立比较两组硬币的重量函数流程图(如图3.2所示)。不断输入硬币个数和编号,判断天平两边质量是否相等,利用coin2函数输出结果。4具体代码实现#includeintcoinl(inta[],intb,intc){inti,sum=O;fdr(i=b;i<=c;i++)sum+=a[i];r7、eturnsum;}intcoin2(inta[],intb,intc){inti,n=c・b+l;if(n==l)returnb;else{if(n%2==0){if(coin1(a,b,b+n/2・1)==coin1(a,c・n/2+1,c))returnb-1;else{if(coin1(a,b,b+n/2-1)
4、中,冇一枚是假币,通过一架天平來比较两组硬币,其称量次数为K(1':表示天平左边托盘中的硬币比右边托盘中的硬币重;(2)'表示天平左边托盘中的硕币比右边托盘中的硕币轻;(3)'二表示天平左边托盘和右边托盘一样重。编写程序,试图通过称量结果找出这枚假币,如杲能够找出假币,则输出如“xisthefalsecoin.v的提示,否则,输出"confus
5、ed.”。2.3设计环境(1)WINDOWS2000/2003/XP/7/Vista系统(2)VisualGH■或TC集成开发环境2.4开发语言C语言3分析和设计3.1模块设计这个程序分为3个模块,模块一用于测试所分组的的硬币的质量。如果n为奇数,则留下一枚额外的硬币,将剩余硬币分为两组,如果n为偶数,则分成两组比较。模块二用于比较两组硬币的质量,若两组硬币质量一样,则留下的额外的硬币为假币;否则我们可以对较轻的一组硬币进行处理,即把硬币再分为两组,比较质量,直到找出假币,输出硬币中假币的位置。模块三为主函数,调用函数一与函数二,找出硬币中的假币,并输出假币的位置。3.2系统流程图P=co
6、in2(a,0,n-1)调用函数coin2比较所分组的硕币的质量,找出假币(如图3.1所示).本程序通过if-else语句和for循环來实现的。先将硬币编号,再利用scanf语句输入耍称量的硬币个数和称量次数,不断循环,最终输出假币编号。3.3主要模块的流程图▼图3.2coin2流程图建立比较两组硬币的重量函数流程图(如图3.2所示)。不断输入硬币个数和编号,判断天平两边质量是否相等,利用coin2函数输出结果。4具体代码实现#includeintcoinl(inta[],intb,intc){inti,sum=O;fdr(i=b;i<=c;i++)sum+=a[i];r
7、eturnsum;}intcoin2(inta[],intb,intc){inti,n=c・b+l;if(n==l)returnb;else{if(n%2==0){if(coin1(a,b,b+n/2・1)==coin1(a,c・n/2+1,c))returnb-1;else{if(coin1(a,b,b+n/2-1)
此文档下载收益归作者所有