基于静态数组的集合的并、交、差运算课程设计精选.docxVIP

基于静态数组的集合的并、交、差运算课程设计精选.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于静态数组的集合的并、交、差运算课程设计精选

《高级语言程序设计》课 程 设 计 报 告 书题 目:基于静态数组的集合的并、交、差运算专 业:计算机科学与技术学 号:学生姓名:指导教师:完成日期:目录一、题目要求1二、系统概要设计22.1程序流程图22.2主要函数设计3三、系统关键代码43.1利用静态数组存放集合的元素功能:43.2系统功能菜单:43.3求两个集合交集功能:53.4求两个集合差集功能:63.5求两个集合并集功能:93.6主函数10四、程序调试12五、课程设计总结13题目要求我的《高级语言程序设计课程设计》题目是:基于静态数组的集合的并、交、差运算。指导教师对该题目有以下要:利用静态数组存放集合的元素。在静态数组基础上实现集合的并、交、差。要求有合理的输入输出。界面要求尽可能美观,要方便操作。该题目最高成绩为“良好”。少一个功能降一个等级。经过努力,我实现了下面的功能:实现集合的交实现集合的并实现集合的差用静态数组存放集合的元素下面的功能由于自己知识储备不足,未能实现:××××××××二.系统概要设计2.1程序流程图用静态数组存放集合的元素显示菜单实现集合的并实现集合的交实现集合的差输出图1.程序流程图2.2主要函数设计该系统涉及到的主要函数及其说明如表1所示:表1. 系统中的主要函数介绍序号函数声明函数功能1void input()利用数组存入集合的元素2void menu()菜单功能现实函数3void intersect()实现两个集合的交4void combine()实现两个集合的并5void subtract()实现两个集合的差6void main实现集合的交、并、差三、系统关键代码下面详细地介绍一下第二部分中列出的各个函数。3.1利用数组存入集合的元素void input( int a[ ] , int b[ ] , int m , int n){ int i,j; printf(Array a:); for(i=0;im;i++) { scanf(%d ,a[i]); } printf(Array b:); for(j=0;jn;j++) { scanf(%d,b[j]); }} 3.2系统功能菜单void meun(){printf(1.实现两个集合的交 2.实现两个集合的差 3.实现两个集合的并 \n”);}3.3实现两个集合的交int intersect(int a[ ],int b[ ],int c[ ], int m,int n)/*括号里面一定要有主函数传递和接收的数组(不要忘了数组c )不然主函数和被调函数之间搭建不起联系,数组也不能传递*/ { int i,j,k=0; /*下面的嵌套循环实现 进行一次if语句的内层循环 将两个集合中重复的一个元素存入数组c中(既交集中) 外层循环进行完两个集合中的共同元素被全部存入交集c中*/ /*a和b的交集*/ for(i=0;im;i++){for(j=0;jn;j++){if(a[i]==b[j]){ c[k]=a[i]; k++; }}}printf(a和b的交集:);for(i=0;ik;i++){printf(%d ,c[i]);}return k;} 3.4实现两个集合的差int subtract(int a[],int b[],int c[],int m,int n) { int i,j,d,k; k=intersect(a,b,c,m,n); printf(k=%d\n ,k);/*下面的两个嵌套循环实现进行一次实现if条件循环的内层循环删除 一个两个数组中的共同元素(数组b的元素被重新赋值改变) 外层循环进行完共同元素删除完*/ /*差集b-a*/ for(i=0;ik;i++){d=0; for(j=0;jn-i;j++) /*j的范围很重要 如果j大于或者小于数组b的个数 结果都有可能错误*/ {if(c[i]!=b[j]){ b[d]=b[j]; d++; }}}printf(差集b-a:); for(i=0;id;i++) /*i的范围很重要*/ { printf(%d ,b[i]);}/*差集a-b*/ for(i=0;ik;i++){d=0; for(j=0;jm-i;j++)/*j的范围很重要 如果j大于或者小于数组b的个数 运行结果都有可能错误*/ { if(c[i]!=a[j]){ a[d]=a[j]; d++;}}}printf(差集a-b:); for(i=0;id;i++) /*i的范围很重要*/ {printf(%d ,a[i]);}return k;

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档