freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-五子棋[★]-閱讀頁(yè)

2024-10-17 23:21本頁(yè)面
  

【正文】 ”,k)。m,amp。k++。[m][n]=39。//迷宮障礙用39。標(biāo)記printf(“輸入障礙物%d的坐標(biāo)(以坐標(biāo)(0,0)結(jié)束輸入): ”,k)。m,amp。k++。}//InitMazeStatus Pass(MazeType maze,PostType curpos){ //當(dāng)前位置可通則返回TURE,否則返回FALSEif([][]==39。)//可通return TRUE。}//PassStatus FootPrint(MazeType amp。*39。}//FootPrintPostType NextPos(PostType amp。cpos=curpos。break。break。break。break。}return cpos。maze,PostType curpos){ //曾走過(guò)但不是通路標(biāo)記并返回OK第5頁(yè) 山東科技大學(xué)學(xué)生課程設(shè)計(jì)[][]=39。//“”表示曾走過(guò)但不通return OK。maze)//將最后標(biāo)記好的迷宮輸出 { int i,j。for(i=0。//輸出列數(shù)printf(“n”)。iprintf(“%d”,i)。jprintf(“%4c”,[i][j])。} }//PrintMazeStatus MazePath(MazeType amp。//初始化棧PostType curpos。SElemType e。curpos=start。do {if(Pass(maze,curpos))//當(dāng)前位置可通過(guò)而未曾走過(guò)留下足跡{FootPrint(maze,curpos)。=curpos。Push(S,e)。amp。else return TRUE。//下一位置是當(dāng)前位置curstep++。//提取前一位置while(==4 amp。!StackEmpty(S))//4個(gè)方向都不能通過(guò)則留下記號(hào) 提取前一個(gè)位置進(jìn)行判斷是否是能通過(guò){MarkPrint(maze,)。}if(設(shè)定當(dāng)前位置為該新方向上的鄰位{++。curpos=NextPos(,)。if(!DestroyStack(S))exit(ERROR)。}//MazePathint main(){ MazeType maze。char c。if(!InitMaze(maze)){printf(“n 初始化迷宮失?。?”)。}do{printf(“n請(qǐng)輸入入口的坐標(biāo):”)。,amp。//輸入入口坐標(biāo)if( || )printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入入口的坐標(biāo)!n”)。}while( || )。//輸入出口的坐標(biāo)scanf(“%d%d”,amp。)。continue。if(!MazePath(maze,start,end))printf(“n不能找到一條路徑!!n”)。//輸出迷宮printf(“是否要繼續(xù)?(y/n):”)。c)。y39。Y39。}。二、概要設(shè)計(jì):void insert(PLOYList *head,PLOYList *input)//查找位置插入新鏈節(jié)的函數(shù),且讓輸入的多項(xiàng)式呈降序排列 PLOYList *creat(char ch)//輸入多項(xiàng)式PLOYList *add(PLOYList *head,PLOYList *pre)//多項(xiàng)式相加,head為第一個(gè)多項(xiàng)式建立的鏈表表頭,pre為第二個(gè)多項(xiàng)式建立的鏈表表頭PLOYList *sub(PLOYList *head,PLOYList *pre)//多項(xiàng)式相減PLOYList *mul(PLOYList *head,PLOYList *pre)//多項(xiàng)式相乘PLOYList *der(PLOYList *head)//多項(xiàng)式求導(dǎo)void print(PLOYList *fun)//輸出多項(xiàng)式,fun指要輸出的多項(xiàng)式鏈表的表頭 void start()//用戶選擇界面三、詳細(xì)設(shè)計(jì):include include typedef struct node//定義節(jié)點(diǎn)類型 { float coef。//多項(xiàng)式的指數(shù)struct node * next。void insert(PLOYList *head,PLOYList *input)//查找位置插入新鏈節(jié)的函數(shù),且讓輸入的多項(xiàng)式呈降序排列 {PLOYList *pre,*now。pre=head。} //如果只有一個(gè)頭結(jié)點(diǎn),則把新結(jié)點(diǎn)直接連在后面else {now=prenext。signal=1。now=prenext。prenext=input。}//若新結(jié)點(diǎn)中指數(shù)比最后一個(gè)結(jié)點(diǎn)即now中的指數(shù)大,則插入now之前else//若指數(shù)相等則需合并為一個(gè)結(jié)點(diǎn),若相加后指數(shù)為0則釋放該結(jié)點(diǎn){nowcoef=nowcoef+inputcoef。free(input)。free(now)。float x。head=(PLOYList *)malloc(sizeof(PLOYList))。scanf(“%f %d”,amp。y)。//創(chuàng)建新鏈節(jié)inputcoef=x。inputnext=NULL。//每輸入一項(xiàng)就將其排序,是的鏈表中多項(xiàng)式呈降序排列scanf(“%f %d”,amp。y)。}PLOYList *add(PLOYList *head,PLOYList *pre)//多項(xiàng)式相加,head為第一個(gè)多項(xiàng)式建立的鏈表表頭,pre為第二個(gè)多項(xiàng)式建立的鏈表表頭 {PLOYList *input。while(flag==0){if(prenext==NULL)flag=1。input=(PLOYList *)malloc(sizeof(PLOYList))。inputexpn=preexpn。insert(head,input)。}PLOYList *sub(PLOYList *head,PLOYList *pre)//多項(xiàng)式相減 {PLOYList *input。while(flag==0){if(prenext==NULL)flag=1。input=(PLOYList *)malloc(sizeof(PLOYList))。//將第二個(gè)多項(xiàng)式里的數(shù)變?yōu)槠湎喾磾?shù),再用和加法一樣的方法實(shí)現(xiàn)減法inputexpn=preexpn。insert(head,input)。}PLOYList *mul(PLOYList *head,PLOYList *pre)//多項(xiàng)式項(xiàng)乘 { PLOYList *hf,*pf,*qa,*qb。qb = pre next。//新創(chuàng)建一個(gè)結(jié)點(diǎn),當(dāng)做表頭hf next = NULL。qa。qb。pf coef = qa coef * qb coef。//指數(shù)相加pf next = NULL。} } return hf。p = head next。p expn = p expn。} return head。int flag=0。if(funnext==NULL)//若為空表,則無(wú)需輸出{printf(“0n”)。}while(flag==0){第14頁(yè) 山東科技大學(xué)學(xué)生課程設(shè)計(jì)if(printingcoef0amp。funnext!=printing)printf(“+”)。else if(printingcoef==1)printf(“”)。if(printingexpn!=0)printf(“x^%d”,printingexpn)。if(printingnext==NULL)flag=1。} printf(“n”)。printf(“用戶選擇界面n”)。printf(“ **n”)。printf(“ **n”)。printf(“ * *n”)。printf(“ **n”)。printf(“n”)。printf(“n”)。}int main(){ PLOYList *f,*g,*pf,*hf,*p。start()。sign)。case 1://多項(xiàng)式相加{printf(“ 你選擇的操作是多項(xiàng)式相加:n”)。f=creat(39。)。print(f)。g=creat(39。)。print(g)。f=add(f,g)。printf(“nn”)。}case 2://多項(xiàng)式相減{printf(” 你選擇的操作是多項(xiàng)式相減:n“)。f=creat(39。)。print(f)。g=creat(39。)。print(g)。f=sub(f,g)?!?。printf(“ 繼續(xù)請(qǐng)選擇相應(yīng)操作,退出請(qǐng)按0.”)。}case 3://多項(xiàng)式相乘{(lán)printf(“ 你選擇的操作是多項(xiàng)式相乘:n”)。f=creat(39。)。print(f)。g=creat(39。)。print(g)。pf=mul(f,g)。printf(“nn”)。break。printf(“請(qǐng)輸入一個(gè)一元多項(xiàng)式:”)。f39。printf(“這個(gè)多項(xiàng)式為:f(x)= ”)。printf(“求導(dǎo)結(jié)果為:F(x)=f39。f=der(f)。printf(“nn”)。break。任務(wù):利用所學(xué)線性表知識(shí)來(lái)完成計(jì)算器中一元多項(xiàng)式的加法減法與乘法的運(yùn)算。首先要定義一個(gè)結(jié)構(gòu)體,其中定義一元多項(xiàng)式的兩個(gè)參數(shù),系數(shù)和指數(shù)和鏈表中的指針域,然后一一羅列每個(gè)在主程序中得到的函數(shù),并一一實(shí)現(xiàn),最后在主程序中主要完成用戶的輸入和相關(guān)程序的調(diào)用。n include includetypedef struct node{//定義節(jié)點(diǎn)類型float coef。struct node * next。void menu()//用戶選擇界面{printf(“************************************n”)。printf(“************************************n”)。printf(“”)。printf(“”)。}void insert(Ployn *head,Ployn *inpt)//查找位置插入新鏈節(jié)程序{Ployn *pre,*now。pre=head。}else {now=prenext。signal=1。now=prenext。prenext=inpt。}else{nowcoef=nowcoef+inptcoef。free(inpt)。free(now)。float x。head=(Ployn *)malloc(sizeof(Ployn))。printf(“請(qǐng)輸入一元多項(xiàng)式%c:(格式是:系數(shù) 指數(shù);以0 0 結(jié)束!)n”,ch)。x,amp。while(x!=0){inpt=(Ployn *)malloc(sizeof(Ployn))。inptexpn=y。insert(head,inpt)。scanf(“%f %d”,amp。y)。}Ployn *addPloyn(Ployn *head,Ployn *pre)//多項(xiàng)式相加{Ployn *inpt。while(flag==0){if(prenext==NULL)flag=1。inpt=(Ployn *)malloc(sizeof(Ployn))。inptexpn=preexpn。insert(head,inpt)。}Ployn *minusPloyn(Ployn *head,Ployn *pre)//多項(xiàng)式相加{Ployn *inpt。while(flag==0){if(prenext==NULL)flag=1。inpt=(Ployn *)malloc(sizeof(Ployn))。inptexpn=preexpn。insert(head,inpt)。}Ployn *byPloyn(Ployn *head1,Ployn *head2)//多項(xiàng)式相乘{(lán)Ployn *inpt,*res,*pre。res=(Ployn *)malloc(sizeof(Ployn))。head1=head1next。while(flag==0){if(prenext==NULL){pre=head2。continue。//當(dāng)現(xiàn)在指向空時(shí)跳出循環(huán)continue。inpt=(Ployn *)malloc(sizeof(Ployn))。inptexpn=preexpn+head1expn。insert(res,inpt)。}void print(Ployn *fun)//輸出多項(xiàng)式{Ployn *printing。printing=funnext。return。amp。//為正數(shù)且不為第一項(xiàng)時(shí)打印“+”號(hào)if(printingcoef==1)。//如果為“1”就打印“”號(hào)就行了elseprintf(“%f”,printingcoef)。else printf(“x^%d”,printingexpn)。if(printingnext==NULL)flag=1。}printf(“n”)。int sign=1。while(sign!=0){scanf(“%d”,amp。switch(sign){case 0: break。f=creat(39。)。print(f)。g39。//輸入多項(xiàng)式g(x)printf(“g(x)=”)。printf(“F(x)=f(x)+g(x)=”)。//兩個(gè)多項(xiàng)式相加print(f)。//復(fù)位標(biāo)志menu()。}case 2:{
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1