2022年舞伴问题文件 .pdf
《2022年舞伴问题文件 .pdf》由会员分享,可在线阅读,更多相关《2022年舞伴问题文件 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、舞伴问题(队列的实现)有 m 个男学生,n 个女学生,各排成一队(即男的排一队,女的排一队),有 s 首歌曲,这 s 首循环播放,每一首开始时,男队的第一个人与女队的第一个人配对跳舞,结束后回排到队尾继续排队。由老师决定什么时候跳舞停止。用户输入: m n s 输出 : 第几首歌曲几号男生与几号女生配对条件查询:第 N 首歌曲播放时男女配对的所有情况X 号男生于 Y 号女生配对的所有歌曲编号输出所有的可能情况代码如下:Main.c 文件#include #include #includeQueueLink.h void main() QueueLink mq,nq; ElemType me,n
2、e,a,b; int i,m,n,s; / m 男生 , n 女生,s 歌曲数int N,X,Y; char key ; printf( 分别输入男生数,女生数,歌曲数:n); scanf(%d%*c%d%*c%d,&m,&n,&s); InitQueue(&mq); InitQueue(&nq); for(i=1;i=m;i+) EnQueue(&mq,i); for(i=1;i=n;i+) EnQueue(&nq,i); do / 首先让歌曲从头到尾播放一轮,输出配对情况for(i=1;i=s;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
3、 - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - DeleteFront(&mq,&me); DeleteFront(&nq,&ne); EnQueue(&mq,me); EnQueue(&nq,ne); printf( 第%d 首歌曲 %d 号男生与 %d 号女生配对 n,i,me,ne); / 进行查询printf( 是否查询? Y/N:n); fflush(stdin); key = getchar(); while(key=Y) printf(1. 查询第 N 首歌曲的男女配对情况 n2. 查询 X 号男生与
4、 Y号女生配对的歌曲目录 n3. 查询所有可能情况 n); fflush(stdin); scanf(%c,&key); / 第一个条件查询if(key=1) printf( 输入 N:n); fflush(stdin); scanf(%d,&N); GetElem(&mq,&a);/ 记下此时排在第一个学生的号GetElem(&nq,&b); do for(i=1;i=s;i+) / 播放完一轮歌曲 DeleteFront(&mq,&me); EnQueue(&mq,me); DeleteFront(&nq,&ne); EnQueue(&nq,ne); if(i=N) printf( 第%d
5、 首歌曲 %d 号男生与 %d 号女生配对n,N,me,ne); GetElem(&mq,&me); GetElem(&nq,&ne); while( (a!=me )| (b!=ne ); / 直到与开始查找时的情况相同 / 第二个条件查询名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - else if(key = 2) printf( 输入 X Y 的值: n); fflush(stdin); scanf(%d%*c%d,&X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年舞伴问题文件 2022 舞伴 问题 文件
限制150内