學(xué)生搭配問題_第1頁(yè)
學(xué)生搭配問題_第2頁(yè)
學(xué)生搭配問題_第3頁(yè)
學(xué)生搭配問題_第4頁(yè)
學(xué)生搭配問題_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

集團(tuán)檔案編碼:[YTTR-YTPT28-YTNTL98-UYTYNN08]集團(tuán)檔案編碼:[YTTR-YTPT28-YTNTL98-UYTYNN08]學(xué)生搭配問題課程名稱:《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)課程設(shè)計(jì)題目:學(xué)生搭配問題姓名:前世界第一院系:計(jì)算機(jī)學(xué)院 專業(yè):計(jì)算機(jī)科學(xué)技術(shù)學(xué)號(hào):指導(dǎo)教師:2013年10月5日目錄1課程設(shè)計(jì)的目的………32需求分析………………33課程設(shè)計(jì)報(bào)告內(nèi)容…………………33.1概要設(shè)計(jì)………33.2詳細(xì)設(shè)計(jì)………43.3調(diào)試分析………53.4用戶手冊(cè)………53.5程序清單………53.6測(cè)試結(jié)果………74小結(jié)…………………105參考文獻(xiàn)……………101.課程設(shè)計(jì)的目的(1)熟練使用C語言編寫程序,解決實(shí)際問題;(2)了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;(3)初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;(4)提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力;2.需求分析請(qǐng)?jiān)O(shè)計(jì)一系統(tǒng)模擬動(dòng)態(tài)地顯示出上述過程,要求如下:①輸出每曲配對(duì)情況②計(jì)算出任何一個(gè)男生(編號(hào)為X)和任意女生(編號(hào)為Y),在第K曲配對(duì)跳舞的情況.至少求出K的兩個(gè)值。③盡量設(shè)計(jì)出多種算法及程序,可視情況適當(dāng)加分。3.課程設(shè)計(jì)報(bào)告內(nèi)容3.1概要設(shè)計(jì)1.函數(shù)①主函數(shù):main()②學(xué)生跳舞搭配:dance()2.程序流程圖開始開始輸入男女生、曲子數(shù)量,查找編號(hào)曲子數(shù)<k對(duì)頭元素出隊(duì)對(duì)頭元素入隊(duì)Y結(jié)束N3.2詳細(xì)設(shè)計(jì)隊(duì)列(Queue)是只允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的運(yùn)算受限的線性表。建立兩個(gè)鏈?zhǔn)窖h(huán)隊(duì)列來分別存儲(chǔ)男生和女生,然后調(diào)用入隊(duì)出隊(duì)函數(shù)實(shí)現(xiàn)循環(huán)隊(duì)列的配對(duì)輸出。在循環(huán)隊(duì)列中進(jìn)行入隊(duì)、出隊(duì)操作時(shí),頭尾指針仍要加一,朝前移動(dòng)。只不過當(dāng)頭尾指針指向向量上界時(shí)、其加一操作是指向向量的下界。這樣就可以通過出隊(duì)再入隊(duì)來實(shí)現(xiàn)男生女生的循環(huán)搭配。3.3調(diào)試分析程序的設(shè)計(jì)嚴(yán)格遵循結(jié)構(gòu)化的程序設(shè)計(jì)思想,由簡(jiǎn)單到復(fù)雜,注意規(guī)范。3.4用戶手冊(cè)①進(jìn)入程序后,您會(huì)看到以下提示:1.“請(qǐng)輸入男生的數(shù)量”;2.“請(qǐng)輸入女生的數(shù)量”;3.“請(qǐng)輸入曲子的數(shù)量”;4.“請(qǐng)輸入您要查找的男生編號(hào)”;5.“請(qǐng)輸入您要查找的女生編號(hào)”;②輸入男女生數(shù)量和曲子數(shù)量后,系統(tǒng)會(huì)給出每首曲子的男女生搭配情況,輸入您要查找的男女生編號(hào),系統(tǒng)會(huì)給出該對(duì)男女的跳舞搭配情況。3.5程序清單#include<stdio.h>#include<malloc.h>typedefstructQnode{ intdata; structQnode*next;}Qnode,*Queueptr;typedefstruct{ Queueptrfront; Queueptrrear;}Linkqueue;voidInitqueue(Linkqueue&Q){ Q.front=Q.rear=(Queueptr)malloc(sizeof(Qnode)); if(Q.front) Q.front->next=NULL;}voidEnqueue(Linkqueue&Q,intm){Queueptrp; p=(Queueptr)malloc(sizeof(Qnode)); if(p) { p->data=m; p->next=NULL; Q.rear->next=p; Q.rear=p; }}intDequeue(Linkqueue&Q){ intm; Queueptrp; if(Q.rear!=Q.front) { p=Q.front->next; m=p->data; Q.front->next=p->next; } if(Q.front==p) Q.rear=Q.front; free(p); returnm;}voidDance(LinkqueueM,LinkqueueW){ inti,m,n,k,a,b,c,d,num=0,r=0; printf("請(qǐng)輸入男生的數(shù)量:"); scanf("%d",&n); printf("請(qǐng)輸入女生的數(shù)量:"); scanf("%d",&m); printf("請(qǐng)輸入曲子的數(shù)量:"); scanf("%d",&k); printf("請(qǐng)輸入您要查找的男生編號(hào):"); scanf("%d",&a); printf("請(qǐng)輸入您要查找的女生編號(hào):"); scanf("%d",&b); for(i=1;i<=m;i++) Enqueue(W,i); for(i=1;i<=n;i++) Enqueue(M,i);for(i=1;i<=k;i++) { printf("\n\n現(xiàn)在正在播放第%d首曲子!\n",i); c=Dequeue(M); d=Dequeue(W); printf("現(xiàn)在正在跳舞的是第%d號(hào)男生和第%d號(hào)女生!\n",c,d); if(c==a&&b==d) { r=1; num++; printf("第%d號(hào)男生和%d號(hào)女生在第%d號(hào)曲子一起跳舞!\n",a,b,i); } Enqueue(M,c); Enqueue(W,d); } if(r==0) printf("\n您要查找的%d號(hào)男生和%d號(hào)女生沒有在一起搭配跳舞!\n",a,b); if(r==1) printf("\n您要查找的%d號(hào)男生和%d號(hào)女生一起跳舞的次數(shù)為:%d次!\n",a,b,num);}intmain(){ LinkqueueM,W; printf("學(xué)生搭配問題!\n\n"); Initqueue(M); Initqueue(W); Dance(M,W); return0;}3.6測(cè)試結(jié)果測(cè)試數(shù)據(jù)如下:查找情況123男生編號(hào)634女生編號(hào)332曲子編號(hào)63無(1)程序開始的界面:輸入男女生和曲子的數(shù)量,輸入待查找的男女生編號(hào)。(2)程序顯示1—K號(hào)曲子的男女生搭配情況。(3)查找任意一名男生和女生在k首曲子的搭配情況。4.小結(jié)在數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的過程中,我不僅認(rèn)識(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論