




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法与数据结构课程设计任务书(2011级计算机科学与技术本科专业)题目:1.数据删除问题2.方程求解问题学生姓名: 项恩泽学号: 11240203班级:2011级计算机科学与技术2班题目类型:软件工程(R)指导教师: 王燕序言1.数据删除问题。编写删除具有N个数据项的数组A中所有重复项的程序,返回A中仍有的数据项。要求运行时间在O(NlogN)。(2)2.方程求解问题。方程A5+B5+C5+D5+E5=F5刚好有一个满足0ABCDEF75的整数解。请编写一个求出该解的程序。(3)摘要:对于设计程序的思路,可以从数据类型入手,如果是整型(也包括但字符),可以使用排序法,然后,输出的重复的就删去,如果是正整数,可以直接构造一个数组:int a=0;/全部初始化为0,然后一个一个地读入,假设读入n,则令an=1表示n存在,那么下一个读入的n则与an判断,如果an是1,则跳过。输出时,只需要挨个判断a中的an了,如果是1,输出n。对于方程组求解,运用的知识可能是不太擅长的,但通过学习和探索,相信会在在求解的过程中学到更多。关键字:方程组解,嵌套循环,排序:一程序分析:数据删除问题1、编写sort(int a,int n)函数,对数组a中n个元素进行升序排序。2、编写int delelem(int a,int n)函数,对数组a中n个数据删除重复数据,只保留一个。对只出现一次的数据则全部保留。函数返回数组中剩余元素的个数。例如:数组a的初始数据为:2,5,2,4,20,0,4,-5,-5,16,2,-4,20。升序排序后为: -5,-5,-4,0,2,2,2,4,4,5,16,20,20。删除重复数据后为: -5,-4,0,2,4,5,16,20。-注意:请在/*Program*/与/*End*/之间插入程序,勿改动主函数main()中的任何语句。-*/#include #include void sort(int a,int n)/*Program*/* End */int delelem(int a,int n)/*Program*/* End */void main()int a=12,2,1,-3,7,-3,4,15,2,0,1,15;int n,i;n=sizeof(a)/sizeof(int);sort(a,n);for(i=0;in;i+)printf(%dt,ai);printf(n);n=delelem(a,n); for;i=0;in;i+) printf(%dt,ai)printf(%dt,ai);printf(n);方程组求解问题数据结构及其函数调用关系方程求解问题主要运用double类型变量,通过循环嵌套计算改变变量的值而求得结果。其核心代码部分如下:or(F=0;F=75;F+) for(E=0;E=F;E+) for(D=0;D=E;D+) for(C=0;C=D;C+) for(B=0;B=C;B+) for(A=0;A=B;A+) if(A+B+C+D+E=F) printf(%d %d %d %d %d %d ,A,B,C,D,E,F);通过循环嵌套,已达到计算求解方程的目的。程序调试情况:1.数据删除问题:2.方程组求解调试情况:程序流程图数据删除问题程序流程图输入所要处理的数组,进行编译预处理进行排序(冒泡排序)利用正则遍历,将数组中重复的数据分离出来,用于单独处理若没有数据相同,则跳过此阶段在遍历过程中,将相同的分别数据保留一个,并继续遍历输出处理后的新数组,方程组求解流程图赋予A值赋予B值赋予C值赋予D值赋予E值计算条件判断赋予F值计算结果 参考文献 1 严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社.2 严蔚敏,吴伟民.数据结构题集(C语言版).清华大学出版社.3 DATA STRUCTURE WITH C+. William Ford,William Topp .清华大学出版社(影印版). 4 谭浩强.c语言程序设计. 清华大学出版社. 5 数据结构与算法分析(Java版) , A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社 2001 年1月致谢我非常感谢老师给我们这个实践的机会,可以让我们在经过一学期的学习之后巩固自己的知识,很感谢同学对我的帮助,也谢谢老师在我们遇到困难的时候为我们进行指导,帮助我们走出困境,帮助我们完成课设任务,在以后的学习中,我一定会更加努力的学习。总 结 本次课设的收获是掌握了正则交换和冒泡排序,通过这两个题目的设计过程,可以加深理解线性表的存储结构,逻辑结构,以及排序问题的排序方法。进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的东西运用到实际解决问题中,培养了学生编程能力,而实践外就是更好的利用网络资源,通过网络的搜索来帮助自己解决实际问题。同时应该加强与同学之间的交流,彼此互相帮助,以便更好的完成任务。这次的课程设计为我以后的学习和编程打下了坚实的基础,也为我今后学习其他语言开了一个很好的头。老师辛苦了!附录数据删除问题程序源代码:#include main() int i,j,t; int a10; printf(请输入10个数:n); for(i=0;i10;i+) /输入 scanf(%d,&ai); printf(输入的10个数是:); for(i=0;i10;i+) printf(%d ,ai); printf(n); for(i=0;i10;i+) /排序 for(j=i+1;jaj) t=ai; ai=aj; aj=t; printf(10个数排序后是:); for(i=0;i10;i+) printf(%d ,ai); printf(n); for(i=0;i9;i+) /删除重复数字 if(ai=ai+1) /如果后一个数等于前一个数,就把后一个数删掉(ps:这里已经排过序,所以可以这样做来删除重复数字) for(j=i+1;j9;j+) /这里的删除用的直接覆盖 aj=aj+1; printf(删除重复数字后:); for(i=0;i0&ai-1=ai) /只输出前面不重复的数 break; printf(%d ,ai); printf(n);方程求解问题源程序#include stdio.h#include math.hint main()double a,b,c,d,e,f; /定义运算的变量int i,j,k,l,o,w;printf(A5+B5+C5+D5+E5=F5 results are:n);for(i=0;i=75;i+) /由循环控制变量变化a=i*i*i*i*i;for(j=i;j=75;j+)b=j*j*j*j*j;for(k=j;k=75;k+)c=k*k*k*k*k;f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年行政执法资格证考试题库及答案
- 2025年乡村振兴战略技能知识考试题与答案
- 2025生殖学试题及答案
- 南召辅警考试题库2025(有答案)
- 2025建筑材料采购租赁合同范本
- 2025原材料采购销售合同示范文本
- 出口退税专项课件
- 2025设备采购与销售合同范本
- 多重耐药菌的监测与控制2讲课文档
- 2025年度个人借款抵押合同
- 口腔科常用器械图谱结构及功能介绍课件整理
- 应急管理专题讲座(二)
- 六年级上册英语课件-Unit1 The king's new clothes(第3课时) |译林版(三起) (共26张PPT)
- QES三体系内审检查表 含审核记录
- 思想道德与法治全册教案
- 公共政策分析陈庆云
- 人音版六年级上册音乐全册教案含教材分析
- 螺杆式冷水机组招标技术要求
- 高处作业吊篮安装验收表(范本模板)
- 主要负责人任职证明
- 沥青搅拌设备项目说明(参考模板)
评论
0/150
提交评论