版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、標(biāo)題:約瑟夫環(huán)時(shí)限:500 ms內(nèi)存限制:2000 K總時(shí)限:3000 ms約瑟夫環(huán)編號(hào)為1, 2, 3,,n的n個(gè)人按順時(shí)針方向圍坐一圈。任選一個(gè)正整數(shù) 描述:作為 報(bào)數(shù)上限m,從第個(gè)人開始按順時(shí)針方向自1開始順序報(bào)數(shù),報(bào)到血時(shí)停止報(bào)數(shù)。報(bào)m的人 出列,從他在順時(shí)針方向上的下一個(gè)人開始重新從1報(bào)數(shù),如此下去,直至所有人全部出列為 止。設(shè)計(jì)程序輸出出列順序。人數(shù)n報(bào)數(shù)上限m人員記錄1 (格式為:姓名學(xué)號(hào)性別年齡班級(jí)健康狀況) 輸入:人員記錄2人員記錄n第1次報(bào)數(shù)岀列的人員記錄S山第2次報(bào)數(shù)出列的人員記錄 輸出: 第n次報(bào)數(shù)出列的人員記錄53安彌邵IOOOOOOl女28計(jì)43 一般 宰覓IOOO
2、oO°2男23計(jì)79健康,顧健IOOOOO03男27計(jì)29 一般宓頑芳IOooOO04女20計(jì)17健康能紙壟IOOOOO05男18計(jì)1健康顧健IOOOOO03男27計(jì)29 般安彌邵IOOOOOOl女28計(jì)43 一般 輸出樣例:能紙壟IOOOOO05男18計(jì)11健康 宰覓IOOOOO02男23計(jì)79健康宓頑芳IOOOOO04女20計(jì)17健康彳BHr半來源:# include<stdio.h>#incl ude<std lib.h>#define EIemTyPe Int typedef StrUCt StUdentint num;Char name10;floa
3、t SCOre 1;float SCOre2;float SCOre3;float average;StrUCt StUdent *next; student,*stu;VOid CreatLiSt(StU L,EIemType n)StU P 1; while(n>0)P 1 =(StU)malloc(sizeof(student);SCanf(n%d”,&p 1 ->num);SCanf(%s,p 1 ->name); scanf(n%f,&p 1 ->score 1);SCanfC,%f,&P 1 ->score2);SCanfC,%
4、r,&P 1 ->score3);L> next=pl;L=l;n-;)L->next=NULL;VOid AVerageSCOre(StU L)StU p;p=L->next;While(P)p->average=(p->score 1 )+(p->score2)+(p->score3)3; P=P>next;)VOid LiSt_SOrt(StU L)StU p,qj,s,l;1=L;p=L->next;While(P)r=p; q=p->next; while(q)(if(r->average<q-&g
5、t;average)r=q; q=q->next;S=p ;if(s->average=r->average && s->num=r->num) p=p->next;l->next=r;l=r;elseWhiIe(S->next->num !=r->num)s=s->next;s->next=r->next;l->next=r;l=r;)l->next=NULL;VOid TraVerSeLiSt(StU L,ElemType n) (ElemTyPe i=0;StU p;p=L->
6、next;WhiIe(P)i+;if(i=n && n> 10)Printf(n%d %s %.2f %.2f %.2f %.2f %dnH,p->num,p->name,p->score 1 ,p->score2,p->score3,p->aVeragej);elsePrintf(n%d %s %.2f %.2f %.2f %.2f %dnH,p->num,p->name,p->score 1 ,p->score2,p->score3,p->aVerage,i);p=p->next;int m
7、ain()ElemTyPe n;StU L;L=(StU)malloc(sizeof(student);L->next=NULL;scanf(%d,n);CreatLiSt(L,n);AverageScore(L);LiSt_SOrt(L);TraVeISeLiSt(L,n);return O;實(shí)驗(yàn)題目供10題,第2題)標(biāo)題:多項(xiàng)式加減乘時(shí)限:5000 ms內(nèi)存限制:8000 K總時(shí)限:3000 ms多項(xiàng)式加減乘有A, B9Cn個(gè)關(guān)于X的個(gè)多項(xiàng)式,求一個(gè)關(guān)于A, B,C的多項(xiàng)式描述:的結(jié)果多項(xiàng)式的每一項(xiàng)之間用空格隔開,每一項(xiàng)的系數(shù),X,指數(shù)之間也用空格隔開, 系數(shù)為0的項(xiàng)不輸出基于多項(xiàng)式
8、A, B, C的運(yùn)算表達(dá)式關(guān)于X的多項(xiàng)式A輸入:關(guān)于X的多項(xiàng)式B關(guān)于X的多項(xiàng)式C表達(dá)式的運(yùn)算結(jié)果輸出:含有A) B, C.表達(dá)式的運(yùn)算結(jié)果,保留兩位小數(shù)。 輸出多項(xiàng)式表達(dá)式按指數(shù)降序排序(A+B)*(A B)輸入樣例:A 1 x2.I 3 X -3.09B 2x 1 2x0輸出樣例:1.00 X 4. 20 -4. 00 X 2. 00 -8. 00 X 1.00 -4. 00 X 0. 00 6. 00 X -0. 999. 00 X -6. 18提不:元多項(xiàng)式的表達(dá)及相加參見第39頁,表達(dá)式求值參見第52頁實(shí)驗(yàn)題目(共10題,第3題)標(biāo)題:迷宮問題時(shí)限:1OOOOO ms內(nèi)存限制:IOOO
9、OO K總時(shí)限:3000 ms迷宮問題迷描述:宮是-個(gè)二維矩陣,其中1為墻,0為路,3為入I 1,4為出11要求從入11開始,從岀 口結(jié)束,按照下佐,上,右的順序來搜索路徑迷宮寬度W迷宮高度h迷宮第一行輸入:迷宮第二行迷宮第h行橫坐標(biāo)n-1縱坐標(biāo)n-1入曰橫坐標(biāo)1 入口縱坐標(biāo)1橫坐標(biāo)2縱坐標(biāo)2橫坐標(biāo)3縱坐標(biāo)3輸出:橫坐標(biāo)4縱坐標(biāo)4出口橫坐標(biāo)n出口縱坐標(biāo)n8 10 IllIliIl IOIlO 10 1 IOIOOIOl 11031011輸入樣例:1 00 1004 1 1 0000 1 1 1 IOIOOIOl IOiOOO Illll 1000 1 IlllIlll輸出祥例:23242535
10、3637474645445464提 示:使用棧參見教材50頁include <stdio.h>#include <stdlib.h>#define NMAX 1024int mazefNMAXNMAX;typedef StrUCt POirt2D(int x;int y; PosType;typedef StrUCt SElemtyPeint ord;POSTyPe seat;int di; SelemType;typedef StrUCt SqStaCk(SelemTyPe* top;SelemTyPe* base; int stacksize; SqStaCk;VO
11、id CreatMaZe(int w,int h) int i,j;for(i=0; i< h; i+)for(j=0; j < w; j+) scanf(,%d ,&maze i j );VOid InitStaCk(SqStaCk &s)(s.base = (SelemTyPe*)malloc(NMAX *N MAX*sizeof(SelemType); if(!s.base)Printfc存儲(chǔ)分配失?。?s.top = s.base;s.stacksize = NMAX*NMAX;VOid FOOtPrint(POSTyPe CUrPOS)(mazecurpo
12、s.xcurpos.y=1;bool PaSS(POSTyPe CUrPOS)(if(mazecurpos.x curpos.y = O)return true;elsereturn false;VOid PUShStaCk(SqStaCk &s,SelemType e)s.top->ord = e.ord;s.top->seat.x = e.seat.x;s.top->seat.y = e.seat.y;s.top->di = e.di;s.top+;VOid NeXtPOS(POSTyPe &curpOSjnt a)SWitCh(a)CaSe 1:C
13、UrPOS.x+; break;CaSe 2:CUrPOS.y-; break;CaSe 3:CUrPOS.x-; break;CaSe 4:CUrPOS.y+; break;bool StaCkEmPty(SqStaCk S)(if(s.base = s.top)return true;elsereturn false;)VOid POPStaCk (SqStaCk &S9SelemType &e)s.top;e.ord = s.top->ord;e.seat.x = s.top->seat.x;e.seat.y = s. top->seat.y;e.di
14、= s.top->di;VOid MarkPrint(PoSTyPe CUrPOS)(mazefcurpos.xlfcurpos.y = 1;bool MaZePath(POSType start,PosType end,sqstack &s)(POSTyPe CUrPOs;SelemTyPe e;int a = 1;int CUrSteP = 1; 探索第一步CUrPOS.x = start.x; 11設(shè)定“當(dāng)前位置”為“入口位 置CUrPOS.y = start.y;doif(pass(curpos)FootPrint(Curpos); 留下足跡 e.ord = CUrSte
15、p;e.seat.x = CUrPOS.x;e.seat.y = CUrPOS.y;e.di = a;PUShStaCk(S,e); ff 加入路徑if(e.seat.x = end.x)&&(e.seat.y = end.y) 到達(dá)終點(diǎn) return true;NeXtPOS(CUrPOsj); ft下一位置是當(dāng)前位置的南鄰C UrSteP+; ff探索下一步 ifelse 當(dāng)前位置不能通過 if(! StackEmpty(S)(POPStaCk(S,e);while(e.di = 4&&! StaCkEmPty(S)(MarkPrint(e.seat); f
16、f留下不能通過的標(biāo)記,并退回一步POPStaCk(S,e);CUrSteP;)whileif(e.di<4)e.di+; ff 換下一個(gè)方向探索 PUShStaCk(S,e);CUrPOS = e.seat;NeXtPOS(CUrPOS,e.di);設(shè)定當(dāng)前位置是該新方向上的相鄰塊ifif)elsewhile(! StackEmpty(S); return false;int main()it w,h,i,j;POSTyPe end,start;SeIemTyPe e;int b;SqStaCk s,l;Initstack(I);Initstack(s);SCanf(%d%d,'
17、,w,&h);CreatMaZe(W,h);for(i = O; i < h; i+)for(j = O; j < w; j+)(if(mazefijl = 3)(start, x = i; s tart, y = j;mazeij = O;if(mazeij = 4)end.x = i; end.y = j; mazeij = O;if(MazePath(start,end,s)(s.top;b = s top->ord; s.top+;for(i = 1; i <=b; i+) (POPStaCk(S,e);PUShStaCk(Le);for(i = 1;
18、i <= b; i+)POPStaCk(Le);Printf(H%d %dn1e.seat.y,e.seat.x);elsePrintf(Hthere is no PaSS availablen); return 0;實(shí)驗(yàn)題目(共io題,標(biāo)題:時(shí)限:內(nèi)存限制:總時(shí)限:第4題) 學(xué)生信息管理1000 ms20000 K3000 ms用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)實(shí)現(xiàn)對(duì)一個(gè)班級(jí)學(xué)生信息管理。設(shè)計(jì)程序求出每個(gè)人的平均成 績(jī)并 按平均成績(jī)由高到底排序后輸出學(xué)生記錄。人數(shù)n輸人員記錄1 (格式為:學(xué)號(hào)姓名 成績(jī)1成績(jī)2成績(jī)3)入:人員記錄2輸 出:人員記錄X 人員記錄y人員記錄Z輸入樣例:31孫儷莉76 78 8
19、92章子怡72 56 673劉德華56 84 90輸岀樣例:1 孫儷莉 76 78 89 81.00 13 劉德華 56 84 90 76.67 22 章子怡 72 56 67 65.00 3提 示:來源:include<stdio.h>include<stdlib.h>define EIemTyPe int typedef StrUCt StUdent int num;Char name IO;float SCOre 1;float SCOre2;float SCOre3;float average;StrUCt StUdent *next; student,*stu
20、;VOid CreatLiSt(StU L9ElemType n)(StU P 1;While(n>0)(P 1 =(StU)malloc(sizeof(student);SCanf(M%d*&p l->num);SCanf(H%s,p l->name); scanf(,%f,&p 1 ->score 1);SCanf(*,%f,&p l->score2);SCanf(o%f *,&p 1 ->score3);L->next=pl;L=l;sL->next=NULL;VOid AVerageSCOre(StU L)
21、(StU p;p=L->next;While(P)p->average=(p->score 1 )+(p->score2)+(p->score3)3; p=p->next;VOid LiSt_SOrt(StU L) StU p,q,r,s,l;1=L; p=L->next;While(P)r=p; q=p->next; while(q)if(r->average< q> average)r=q;q=q->next;S=p ;if(s->average=r->average && s->nu
22、m=r->num) (p=p->next;l->next=r;l=r;elseWhile(S->next->num !=r->num)s=s->next;s->next=r->next;l->next=r;l=r;)l->next=NULL;VOid TraVerSeLiSt(StU L5ElemType n)ElemTyPe i=0;StU p; p=L->next; While(P)i+;if(i=n && n>10)PriIltfc%d %s %.2f %.2f %.2f %.2f %dn, &
23、gt;num,p->nanie,p>scorel,p->score2,P >scow3,p>aVerage,i);elsePriIltfVd %s %.2f %.2f %.2f %.2f %dnH,p->num,p->name,p->score 1 ,p->score2,p->score3,p->aVerage,i);p=p->next;int main()ElemTyPe n;StU L;L=(StU)malloc(sizeof(student);L->next=NULL;SCanf(%d,n);CreatLiSt
24、(L,n);AverageScore(L);LiSt_SOrt(L);TraVerSeLiSt(L,n);return O;實(shí)驗(yàn)題目(共1 ()題第5題)標(biāo)題:順序表上的基本操作實(shí)現(xiàn)時(shí)限:IOOO ms內(nèi)存限制:IOOOOK總時(shí)限:3000 ms:初始化、創(chuàng)建、插入、刪除、查找、遍歷、逆 描述請(qǐng)輸入線性表La的長(zhǎng)度:n al a2 a3 .an (數(shù)值有序,為降序) 請(qǐng)輸入要插入到線性表La中的數(shù)字X和插入的位置i:X i輸入:請(qǐng)輸入要?jiǎng)h除數(shù)字的位置:i請(qǐng)輸入要查找的數(shù)字:X 請(qǐng)輸入線性表長(zhǎng)度:m bl b2.bm (數(shù)值有序,為升序)創(chuàng)建好的線性表La=al a2.an 插入一個(gè)數(shù)字后的線性
25、表al a2.an+l 刪除一個(gè)數(shù)字后的線性表al a2.an 輸岀:查找一個(gè)輸入的數(shù)字后如果找到,輸岀該數(shù)字的位置i,如果沒有找到,輸出” 沒有找到x”的信息。逆置al a2.an后的線性表an an-l.al 合并兩個(gè)線性表后的線性表谿 &刷 請(qǐng)輸入線性表La的長(zhǎng)度:5 輸入樣例:請(qǐng)輸入線性表La中的元素:14111095請(qǐng)輸入要插入到線性表La中的數(shù)字X和插入的位置i: 8 4線性表 La= 14 11 10895請(qǐng)輸入要?jiǎng)h除的數(shù)字的位置:4線性表 La= 14 11 1095請(qǐng)輸入要查找的數(shù)字:10找到,10在第3個(gè)位置逆置后的線性表La=5 9 10 11 14請(qǐng)輸入線性表L
26、b的長(zhǎng)度:4請(qǐng)輸入線性表Lb中的元素:1369合并La和Lb后的線性表為:1 3569 9 10 11 14輸出樣例:提示:來源:include <stdio.h>#include <stdlib.h>#define LISTJNIT_SIZE 500#define LISTINCREMENT 10#define OVERFLOW -2#define ERROR 0#define OK 1typedef int ElemType;typedef StrUCtElemTyPe *elem;int length;int listsize; SqList;int InitLi
27、St_Sq(SqLiSt &L)Lelem=(ElemType *)malloc(LISTJNIT_SIZE*SiZeOf(ElemTyPe);if(!L.elem) exit (OVERFLOW);Le ngth=O;LIiStSiZe 二 LIST INIT SIZE;return OK;VOid Creat_Sq(SqLiSt &L)L.elem=(ElemType *)malloc(LIST_INIT_SIZE*SiZeOf(ElemTyPe);if(!L.elem) exit (OVERFLOW);Length=O;LJistsize=LIST INIT SlZEin
28、t LiStInSert_Sq(SqLiSt &L, int i, ElemTyPe e)(int * newbasez*pz*q;if (i<llli>L.length+l)return ERROR;if(Lngth > = L.listsize)newbase = (ElemTyPe *)realloc(L.elem/(L.listsize+LISTINCREMENT)*sizeof(ElemType);if(Inewbase) exit(OVERFLOW);L.elem=newbase;L.listsize+二 LISTlNCREMENT;) q=&(L
29、.elemi-1);for(p=&(L.elemLlength-l); p>=q;P)* (p+l)=*p;*q=e;+ + Le ngth;return OK;)int LiStDelete_Sq(SqLiSt &L, int i)(int *pq;if(i<l)ll(i>L.length)return ERROR;P = & (L.elemi-1);q = L.elem + LJength-1;for(+ + p; p<=q; + + p)一Length;return OK;)VOid LOCate EI e m_Sq (Sq Li St &
30、amp;L,int x)(int ifflag=O;for(i = 1; i<L.length; i+)if (L.elemi =x)flag = 1;break;)if (flag=l)(Printf(M 找到,%d 在第 1 個(gè)位置n,x,i + 1);)elsePrintf(,沒找到n”);)VOid OUtPUt(SqLiSt &L)inti;for(i=0; ivLength; i+)Printf(H%d M,L.elemi);VOid MergeLiSt_Sq(SqLiSt La, SqLiSt Lb, SqLiSt &Lc)(int *pa*pb*pc*pa
31、j ast*pbj ast;pa=La.elem;pb=Lb.elem;LcJistsize= LcJength = La.length + Lbl ength;pc=Lc.elem = (ElemTyPe *)malloc(LcJiStSiZe * SiZeOf(EIemType);if(!Lc.elem) exit(OVERFLOW);PaJaSt=La.elem +Laength-1;PbJaSt=Lb.elem + LbJength-1;WhiIe(pa< = PajaSt&&pb< = PbjaSt)if (*pav=*pb)*pc+ + =*pa+;el
32、se *pc+ +=*pb+;)While(pa< = PajaSt) *pc+ +=*pa + +;WhiIe(pb< = Pb-IaSt) *pc+ +=*pb+;VOid BaCkLiSt_Sq(SqLiSt &L)(int i,n,temp;n = Length/2;for(i = l;i< = n;i + +)(temp=L.elemi-l;L.elemi-1 = LelernLlength-i;LelernLlength-i=temp;)int main()(int nln2ixjOCatejnsertjOCate_deletejOCate;SqLiSt
33、La,Lb,Lc;Creat_Sq(La);Creat_Sq(Lb);Creat_Sq(LC);SCanf(V % d,nl);for(i=0;i<nl;i+)SCanf(%dn, La.elem+i);LaJength+; Printf ("創(chuàng)建好的線性表La=M);OUtPUt(La);Printf(ySCanf(M%d%dn,&x,&locate_insert);LiStInSert_Sq(LajOCateJnSert,x);Printf(,插入一個(gè)元素后的線性表La=M);OUtPUt(La);Printf("n");SCanf(%d
34、 , &locate_delete);LiStDeIete_Sq(LajOCate_delete);Prirtf(-刪除一個(gè)元素后的線性表La=M);OUtPUt(La);PrilItf("n");SCanf(M%dH,&locate);LocateElem_Sq(LaJocate);BaCkLiSCSq(La);PrintfC逆置后的線性表La=M);OUtPUt(La);SCanf(H %d 7&n2);for(i=0;i<n2;i+)(SCanf(%d,Lb.elem+i);LbJength + +;)MergeLiSt_Sq(La,Lb
35、,Lc);Printf ("合并La和Lb后的線性表二”);OUtPUt(Lc);Printf(HnM);return 0;實(shí)驗(yàn)題目(共10題,第6題)標(biāo)題:時(shí)鏈表上的基本操作實(shí)現(xiàn)限:內(nèi)存限制:總時(shí)IOOOO K3000 ms描 述:在單鏈表存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)基木操作:初始化、創(chuàng)建、插入、刪除、杳找、遍歷、逆 置、合并運(yùn)算。線性表長(zhǎng)度nal a2a3 .an (數(shù)值有序,為降序)1000 ms輸入:要插入到線性表中的數(shù)字X和插入的位置i要?jiǎng)h除的數(shù)字的位置i要查找的數(shù)字X線性表長(zhǎng)度mbl b2.bm (數(shù)值有序,為升序) 創(chuàng)建的線性表al a2.an插入一個(gè)數(shù)字后的線性表al a2.an+
36、l刪除一個(gè)數(shù)字后的線性表al a2.an輸出:查找一個(gè)輸入的數(shù)字后如果找到,輸出該數(shù)字的位置i,如果沒有找到,輸岀“沒有找到 X”的信息。逆置al a2.an后的線性表an an-l.al合并兩個(gè)線性表后的線性表 請(qǐng)輸入線性表La的長(zhǎng)度:6請(qǐng)輸入線性表La中的元素:15 13 109 8 5請(qǐng)輸入要插入到線性表La中的數(shù)字X和要插入的位置:7 6線性表La=I5 13 10987 5 (輸出)請(qǐng)輸入要?jiǎng)h除的數(shù)字的位置:4g、由網(wǎng) 線性表La=15 13 10 87 5 (輸出)刷入樣例:請(qǐng)輸入要查找的數(shù)字:10找到,10在第3個(gè)位置逆置線性表La=5 7 8 10 13 15請(qǐng)輸入線性表Lb的
37、長(zhǎng)度:4請(qǐng)輸入線性表Lb中的元素:13 69合并La和Lb后的線性表為:1 3 5 67 8 9 10 13 15輸出樣例:提示:來源:提交代碼include <stdio.h>include <stdlib.h> typedef StrUCt LnOde(int data;StrUCt LnOde *next; InOde,*linklist;VOid InitLiSt_I(IinkliSt *1)*1 = (IinkliSt)malloc(sizeof(lnode); (*l)->next = NULL;VOid CreatLiSt_I(IinkliSt l.
38、int n)int i= O;IinkliSt rear,p;rear = 1;for(; i<n; i+)P = (IinkliSt)malloc(sizeof(lnode); scanf(n%d,p->data); rear->next = p;p->next = NULL;rear = p;VOid LiStTraVerSe(IinkliSt 1)IinkliSt p;P = l->next;While(P)Printf(%d ,p->data);P = p->next;Printf(,nn);VOid LiStlnSert_I(IinkliSt
39、 IJnt j, int e)int i;IinkliSt p,q;/p = (IinkliSt)malloc(sizeof(lnode); q = (IinkliSt)malloc(sizeof(lnode); P = l->next;for(i=l; i < j-1; i+)P = p->next; q->data = e;q->next = p->next;p->next = q;VOid LiStDeIete-J(IinkliStI,intj)int i=l;IinkliSt p;P = l->next;for(; i < j-1;
40、i+)P = p->next;p->next = p->next->next;int LiStLOCate_I(IinkliSt hint e)(int i=0;IinkliSt p;P = l->next;While(P)i+;if(p->data = e)(Printf (,找到,d 在第d 個(gè)位置n,e,i); return O;P = p->next;Printf (V 沒找到n");return O;VOid LiStlnVerSiOn(IinkliSt 1)(IinkliSt p,q;P = l->next;q = l-&g
41、t;next;if (!pll!(p->next)return;elsep=p->next; q->next = NULL; While(P)(q=p->next;p->next = l->next; l->next = p;p=q; if(q) q=q->next;VOid LiStMerge(IinkIiSt IJinklist IbJinkliSt IC) (IinkliSt p,q,s;P = l->next;q = lb->next;S = lc;While(P&&q)(if(p->data >
42、q->data)s->next = q;q = q->next;S = s->next;else(s->next = p;P = p->next;S = s->next;if(q = NULL)s->next = p;if(p = NULL)s->next = q;int main()int e9nj,x;IinkliSt la,lb,lc;SCanfc5%d,n);,請(qǐng)輸入線性表La的長(zhǎng)度InitLiStJ(&la);CreatLiSt_l(la,n);Printf(咆建好的線性表La=H);LiStTraVerSe(la);SC
43、anf(H%d%dH,&e,&j); 請(qǐng)輸入要插入到線性表La中的數(shù)字X和要插入的位置LiStInSertj(Iaj,e);Printf(H插入一個(gè)元素后的線性表La=n);LiStTraVerSe(la);SCanfc, %d,j);,輸入要?jiǎng)h除的數(shù)字的位置LiStDeIete_1( IaJ);Printf (,刪除一個(gè)元素后的線性表La=°);LiStTraVerSe(la);SCanfc5%d,x); 請(qǐng)輸入要查找的數(shù)字LiStLOCate(la,x);LiStInVerSiOn _l(la);Printf ("逆置后的線性表La=”);LiStTra
44、VerSe(la);SCanfC5%d,n); 請(qǐng)輸入線性表Lb的長(zhǎng)度InitLiSt_l(&lb);CreatLiStJ(Ib,n); ff請(qǐng)輸入線性表Lb中的元素Printfc合并La和Lb后的線性表二);InitLiSt_1(&lc);ListMergeJ(IaJbJc);LiStTraVerSe(Ic);return 0;實(shí)驗(yàn)題目供1()題,第7題)標(biāo)題:括號(hào)匹配問題時(shí)限:IOOOmS內(nèi)存限制:IOoooK總時(shí)限:3000 ms理用順序存儲(chǔ)實(shí)現(xiàn)棧的初始化、入棧、出棧、取棧頂、判??詹僮鳌U{(diào)用以上操作實(shí)現(xiàn)判斷從 鍵盤輸入的括號(hào)序列是否匹配。輸入:括號(hào)序列# (#為括號(hào)輸入
45、結(jié)束符號(hào))輸出:匹配或不匹配輸入樣例:()#輸出樣例:提示:()#匹配不匹配來源:# include<stdio.h># include<stdlib.h>#define STACKINCRESE 100#define STACKJN 10typedef StrUCt(Char *base;Char *top;int stacksize; SqStack;VOid InitStaCk(SqStaCk &s)s.base=(char)ma!loc(STACK_IN * SiZeOf(Char);if(!s.base) exit(l);s.top=s.base;s.
46、Stacksize=STACKJN;Char GettOP(SqStaCk &s,Char e)(e=*(s.top-l);return e;VOid PUSh(SqStaCk &s,char e)if(s.top-s.base)>s.stacksize)s.base=(char *)realloc(s.base,(s.stacksize+STACKINCRESE)*sizeof(char); if(!s.base) exit(l);s.top=s.base+s.stacksize;s.stacksize=s.stacksize+STACKINCRESE; * s.top
47、+=e;VOid POP(SqStaCk &s,Char e)if(s.base=s.top) exit(l); e=*s.top;int main(void)SqStaCk s;Initstack(s);Char a,e;SCanfe % c",&a);PUSh(S,a);SCanf(H%cn,&a);While(a!=#)SWitCh(a)(case*1:(if(Gettop(s,e)!=,)(PUSh(S9a);else Pop(s,e);break;case*)1:if(Gettop(s,e) !=*(')(PUSh(S,a);else Pop
48、(s,e); break;case,:(if(Gettop(s5e)!-c)PUSh(S9a);else Pop(s9e);break;case':case, *:case'o :PiiSh(S,a); break;SCanfC%c:&a);)if(s.base=s.top) Printf(n 匹配); else PrintfC* 不匹配,return 0;實(shí)驗(yàn)題目(共10題,第8題)標(biāo)題:患者到醫(yī)院看病事件模擬時(shí)限:IOOOmS內(nèi)存限制:IooooK總時(shí)限:3000 ms患者到醫(yī)院看病的順序是:先排隊(duì)等候,再看病治療。要求設(shè)計(jì)一個(gè)算法,模擬病人等候就診的過程。其中:“
49、病人到達(dá)”用命令(或“a”)表示,“護(hù)士讓下一位就診”用(或“屮)表示,“不再接收病人排隊(duì)”用“S”(或“s”)表示。A (或a)病歷號(hào)輸入:N (或n)S (或 S)請(qǐng)輸入命令:病歷號(hào)為X的病人就診無病人就診下列排隊(duì)的病人依次就診:今天不再接收病人排隊(duì)輸入命令不合法!請(qǐng)輸入命令:A輸入樣例:病歷號(hào):123請(qǐng)輸入命令:n病歷號(hào)為123的病人就診請(qǐng)輸入命令:n無病人就診請(qǐng)輸入命令:a病歷號(hào):124請(qǐng)輸入命令:a病歷號(hào):125請(qǐng)輸入命令:X輸入命令不合法!請(qǐng)輸入命令:S下列排隊(duì)的病人依次就診:124125今天不再接收病人排隊(duì)輸出樣例:來源:提不:#include<stdio.h># i
50、nclude<stdlib.h>typedef StrUCt QnOde(int date;StrUCt QnOde *next; Qnode5*Queueptr;typedef StrUCt(QUeUePtr rear;QUeUePtr front; Linkqueue;VOid InitqUeUe(LinkqUeUe &Q)(Q.front=Q.rear=(Queueptr)malloc(sizeof(Qnode); if(!Q.front) exit(O);Q.front->next=NULL;VOid enqueue(Linkqueue &Q,int
51、e)(QUeUePtr p;P=(QUeUePtr)malloc(sizeof(Qnode);if(!p) exit(O);p->date=e;p->next=NULL;Q.rear->next=p;Q.rear=p;int dequeue(Linkqueue &Q,int e)QUeUePtr p;p=Q.front->next;e=p date;Q.front->next=p->next;if(Q.rear=p) Q.rear=Q.front;free(p);return e;int empety(Linkqueue &Q)return
52、Q.front=Q.rear;int main()LinkqUeUe Q;Char q;Initqueue(Q);int flag=l;inti;while(flag)(SCanf(H%cn,&q);if(q=, a'llq='A')(SCanfc % d",&i);enqueue(Q,i);)else if(q=tN,llq=,nt)(if(!empety(Q)(Printf (,、離歷號(hào)為d 的病人就診n,dequeue(Q,i); elsePrintf(,無病人就診);else if(q=,s,llq=,S,)Printf (”今天不再接
53、收病人排隊(duì),”);flag=O;Printf (,下歹U排隊(duì)的病人依次就診:,while(!empety(Q)Printf(M%d ,dequeue(Q J);)elsePrintfC,輸入命令不合法! n,;getchar();return 0;實(shí)驗(yàn)題目(共10題,第9題)標(biāo)題:迷宮的最短路徑時(shí)限:1000 ms內(nèi)存限制:IooooK總時(shí)限:3000 ms描述:設(shè)計(jì)一個(gè)算法找一條從迷宮入曰到岀口的最短路徑。:最短路n迷宮的布局來源:#include <stdio h>魄&象為行和列:68(W)(3,4) 號(hào)臾毬宮的布局:OllIOlll(3,3)(2,2) (1,1)#include <stdlib.h>#define QUEUEJNIT_SlZE 100#define QUEUEINCREMENT 10 typedef StrUCt POint(int x;it y; Point;typedef StrUCt QElemTyPeint pre;POint pos; QElemType;StrUCt SqQUeUe(QElemTyPe *base;int front;int rear;int size;VOid InitQUeUe(SqQUeue&lq)(lq.base=(QElemType
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)合集【人力資源管理篇】
- 2024年廠年度勞動(dòng)競(jìng)賽的工作總結(jié)
- 《廣告的社會(huì)功能》課件
- 第1單元 中華人民共和國的成立與鞏固 (B卷·能力提升練)(解析版)
- 《孟子生平簡(jiǎn)介》課件
- 《杜絕校園欺凌》課件
- 超市客服話務(wù)員工作總結(jié)
- 探索生態(tài)之謎
- 2023年項(xiàng)目安全培訓(xùn)考試題(能力提升)
- 2023年項(xiàng)目部治理人員安全培訓(xùn)考試題附完整答案(必刷)
- 護(hù)士條例解讀
- 醫(yī)務(wù)人員崗前培訓(xùn)課件
- 檢修工(題庫)附答案
- 2025屆高考語文一輪復(fù)習(xí):小說情節(jié)結(jié)構(gòu)之伏筆 練習(xí)題(含答案)
- 《化學(xué)實(shí)驗(yàn)室安全》課程教學(xué)大綱
- 2024年人教版初二地理上冊(cè)期末考試卷(附答案)
- 《一元一次方程》復(fù)習(xí)學(xué)案
- 三甲醫(yī)院面試自我介紹課件
- 單招鐵路基礎(chǔ)知識(shí)題庫單選題100道及答案解析
- 高低壓供配電設(shè)備檢查和檢修保養(yǎng)合同3篇
- 投資可行性分析財(cái)務(wù)數(shù)據(jù)全套表格
評(píng)論
0/150
提交評(píng)論