ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:21.51KB ,
资源ID:6790665      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6790665.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一些经典CC++程序源码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

一些经典CC++程序源码.docx

1、一些经典CC+程序源码一些经典C/C+程序源码转自:编程之道论坛1、 运动会分数统计*任务:参加运动会有n个学校,学校编号为1 n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为: 7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)功能要求:1).可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 规定:输

2、入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;2、 订票系统任务:通过此系统可以实现如下功能:录入:可

3、以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;3、拓扑排序任务:编写函数实现图的拓扑排序。

4、4、 迷宫求解任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;5、 文章编辑*功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以

5、输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;6、 joseph环 任务:编号是1,2,,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的

6、编号。测试数据:m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?要求:输入数据:建立输入处理输入数据,输入m的初值,n ,输入每个人的密码,建立单循环链表。输出形式:建立一个输出函数,将正确的输出序列7、 猴子选大王*任务:一堆猴子都有编号,编号是1,2,3 .m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。要求:输入数据:输入m,n m,n 为整数,nm输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号,建立一

7、个函数来实现此功能 8、 建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)*任务:要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数; 9、 赫夫曼树的建立 任务 :建立建立最优二叉树函数 要求:可以建立函数输入二叉树,并输出其赫夫曼树在上交资料中请写明:存储结构、 基本算法(可以使用程序流程图) 、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;10、 纸牌游戏*任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后

8、一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些? 11、图的建立及输出任务:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。 要求:头文件一#include#include#includestruct BiTnodechar data;BiTnode *lchild,*rchild;stru

9、ct QueueBiTnode* *data0;int max;int front,rear,size;void SetQueue(Queue *Q,int n)Q-data0=(BiTnode*)malloc(n*sizeof(BiTnode*);if(Q-data0=NULL)coutmax=n;Q-front=0;Q-rear=0;Q-size=0;void FreeQueue(Queue *Q)free(Q-data0);void QInsert(Queue *Q,BiTnode* item)if(Q-size=Q-max)coutQueue is full.data0Q-rear=i

10、tem;Q-rear=(Q-rear+1)%Q-max;Q-size+;BiTnode* QDelete(Queue *Q)BiTnode* item;if(Q-size=0)coutDeleting from an empty queue!data0 Q-front;Q-front=(Q-front+1)%Q-max;Q-size-;return item;int QEmpty(Queue *Q)if(Q-size=0)return(1);return(0);void CreateBitree(BiTnode *&T)char ch;cinch;if(ch=/)T=NULL;elseif(!

11、(T=(BiTnode*)malloc(sizeof(BiTnode)coutAllocation failed.data=ch; CreateBitree(T-lchild); CreateBitree(T-rchild);void PreOrder(BiTnode*T)if(T!=NULL)coutdata;PreOrder(T-lchild);PreOrder(T-rchild);void InOrder(BiTnode*T)if(T!=NULL)InOrder(T-lchild);coutdata;InOrder(T-rchild);void PostOrder(BiTnode*T)i

12、f(T!=NULL)PostOrder(T-lchild);PostOrder(T-rchild);coutdata;void LevelOrder(BiTnode *T)BiTnode *ptr;Queue Q;if(T=NULL)return;SetQueue(&Q,50);QInsert(&Q,T);while(!QEmpty(&Q)ptr=QDelete(&Q);coutdata;if(ptr-lchild!=NULL) QInsert(&Q,ptr-lchild);if(ptr-rchild!=NULL) QInsert(&Q,ptr-rchild );FreeQueue(&Q);v

13、oid BiTreeTraverse() BiTnode * T; char j; int flag=1; cout*本程序实现二叉树遍历的操作*endl; coutendl; cout按先序遍历来构造二叉树:endl; printf(例如:a/b/c/d/(回车)n); CreateBitree(T); /初始化队列 while(flag) coutendl; cout 请选择: endl endl 1.递归先序遍历 endl 2.递归中序遍历 endl 3.递归后序遍历 endl 4.非递归层序遍历 endl 0.退出程序 endl j; switch(j) case 1:if(T) co

14、ut递归先序遍历二叉树:endl; PreOrder(T); coutendl; else cout二叉树为空!endl; break; case 2:if(T) cout递归中序遍历二叉树:endl; InOrder(T); coutendl; else cout二叉树为空!endl; break; case 3:if(T) cout递归后序遍历二叉树:endl; PostOrder(T); coutendl; else cout二叉树为空!endl; break; case 4:if(T) cout非递归层序遍历二叉树:endl; LevelOrder(T); coutendl; else

15、 cout二叉树为空!endl; break; default:flag=0;cout程序运行结束,按任意键退出!endl; 头文件二/猴子选大王#include#includevoid Josephus(int n,int m)int i,j,*p;p=(int *)malloc(n*sizeof(int);for(i=0;i1)i=(i+m-1)%n;printf(del %dn,p);for(j=i+1;jn;j+) pj-1=pj;n-;if(i=n)i=0; printf(King! %dn,p0); void Monkeyking()int n,count;printf(请问您,这

16、个猴子群有多少只: );scanf(%d,&n);printf(n猴子们随机抽取的数为: );scanf(%d,&count);printf(n猴子选大王开始了:n);Josephus(n,count);头文件三/文章编辑*#include#include#includestruct Rowchar * rbase;int length;struct PageRow * pbase;int n;/创建一页文章。void CString(Row &R,int length)R.rbase=(char*)malloc(length*sizeof(char);R.length=length;cout

17、请输入字符串: ;for(int i=0;ic;R.rbase=c;void CPage(Page &ye,int length,int n)ye.pbase=(Row *)malloc(n*sizeof(Row);ye.n=n;/还需附加分配不成功等条件for(int j=0;jn;j+) ye.pbasej.rbase=(char *)malloc(length*sizeof(char);/还需附加分配不成功等条件 if(!ye.pbasej.rbase)coutAllocation failed.endl;ye.pbasej.length=length;couthua le.endl;/

18、进行测试for( j=0;jn;j+)for(int i=0;inote; ye.pbasej.rbase=note; if(note=$) for(;ilength;i+)ye.pbasej.rbase= ;/这个地方还不行 if(note=#) for(j+;jn;j+)ye.pbasej.rbase= ;couthua le.endl;/测试for(int p=0;pye.n;p+)coutrow(p+1) ;for(int q=0;qlength;q+)/为什么有的出现,有的不出现。coutye.pbasep.rbaseq; coutendl; void OPage(Page ye)

19、for(int j=0;jye.n;j+)coutrow:(j+1) ;for(int i=0;ilength;i+)/为什么有的出现,有的不出现。coutye.pbasej.rbase;coutendl; void Stastics(Page ye) int zm=0,sz=0,kg=0,az=0,i=0; char c;for(int j=0;jye.n;j+)for(i=0;ilength;i+)/为什么有的出现,有的不出现。c=ye.pbasej.rbase;if(c= ) kg+;else if(int)c64&(int)c96&(int)c47&(int)c58) sz+;az=i

20、*j-kg;/为什么i 是未定义的,而j不是cout全部字母个数为: zmendl 全部数字个数为: szendl 空格数 为: kgendl 总字数 为 azendl;void StasString(Page p,Row s) int m=0;int k=0;char c;for(int j=0;jp.n;j+)for(int i=0;ilength;i+)c=p.pbasej.rbase;if(c!=s.rbasek)k=0;else k+;if(k=s.length)m+;/考虑重叠情况for(k-;k!=0;k-,j-);cout所给串在文章中出现的次数为: mendl;void De

21、lString(Page &p,int m,Row s)if(s.lengthp.pbase-length|mp.n)cout你的输入有误,请仔细看提示.endl;/你的输入有误,请仔细看提示else int k=0, temp;char c;coutjin xing ce shi.endl;for(int j=0;jp.pbase0.length;j+)/for(int j=0;jlength;j+) c=p.pbasem-1.rbasej;/m-1才是正确的行 if(c!=s.rbasek)k=0; else k+;coutk值:s.rbasek-1endl; if(k=s.length)

22、 cout确实存在此字符串.endl; temp=j+1-k;break;/int temp=j-k;break;同样错误1 coutIm here;length-temp)*sizeof(char); a.length=(p.n-m+1)*(p.pbase-length-temp);/weizhi是a的长度,同样错误1 k=0; coutIm here;endl;for(int i=m-1;ip.n;i+)/从删除位置开始赋值到数组a for(j=temp;jlength;j+,k+) a.rbasek=p.pbase.rbasej; j=0;coutIm here;endl;for(k=0

23、;ka.length-s.length;k+)a.rbasek=a.rbasek+s.length;/for(;ka.length;k+)a.rbasek= ;for(i=m-1,k=0;ip.n;i+)for(j=temp;jlength;j+,k+)p.pbase.rbasej=a.rbasek;j=0;coutIm here;endl;OPage(p);/可以调用函数0page(p); void Save(Page P)/newfstream outfile;outfile.open(information.dat,ios:out|ios:binary);if(!outfile)coutinformation.dat cant open.n;abort();for(int i=0;iP.n;i+)outfile.write(P.pbase.rbase,sizeof(P.pbase.rbase);outfile.close();void Read(Page &P) fstream infile,outfile;infile.open(information.dat,ios:in|ios:binary);if(!infile)coutinformation.dat cant open.n;abort(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1