




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计报告一、 单词接龙程序:#include#include#include#define m 20#define n 100int main(void) char strmn; char jielong2000; int n,i; char kaitou; void fjielong(char pstrn,char *pjielong,int n_x,char kaitou_x); printf(input the number of the strings:); scanf(%d,&n); printf(input the strings:); for(i=0;in;i+) scanf(%s,stri); getchar(); printf(kaitou?); scanf(%c,&kaitou); fjielong(str,jielong,n,kaitou); printf(the final strings is:%s,jielong); system(pause); return 0;void fjielong(char pstrn,char *pjielong,int n_x,char kaitou_x) int i; for(i=0;in_x;i+) if(pstri0=kaitou_x) strcpy(pjielong,pstri); pjielong+=strlen(pstri+1); break; for(i=0;in_x;i+) if(pstri0!=kaitou_x) if(*(pjielong-1)= pstri0) pjielong-; strcpy(pjielong,pstri); pjielong+=strlen(pstri+1); return 0;运行结果:二、方格问题程序:main()int i,n,g,j;int f1101=0,f2101=0;int f3101;scanf(%d,&n);f1100=1;f2100=3;for(i=3;i=1;j-)g=g+2*f1j+f2j;f3j=g%10;g=g/10;for(j=1;j=100;j+)f1j=f2j;f2j=f3j;j=1;while(f3j=0)j+;for(i=j;i=100;i+)printf(%d,f3i);printf(n);运行结果二、 fbz串程序:main()int i,j,k,n,temp;int s10002;char q2000=0;temp=1;scanf(%d,&k);if(k=1) n=1;else for(i=2;i=k;i+) n=temp*2;temp=n;for(i=0;i=n-1;i+)for(j=0;j=1;j+)scanf(%d,&sij);for(i=0;i=n-1;i+)for(j=0;j=1;j+)if(sij=0) qn*2+i*2+j=z; else qn*2+i*2+j=b;for(i=0;i=2;j=j/2)for(i=0;i=j-1;i=i+2)if(qj+i=qj+i+1)&(qj+i!=f)q(j+i)/2=qj+i; else q(j+i)/2=f;printf(%c,q1);for(i=1;i=n*2-1;i=i+)if(qi=f)printf(%c%c,qi*2,qi*2+1);getch();运行结果:四、 分油程序:main () int q1004=0,0,0,0,10,0,0,0; int j,front,rear,x10,x7,x3,y10,y7,y3,p,p1,i; front=1;rear=1;p=1; while(p) x10=qfront0; x7=qfront1; x3=qfront2; front+; if(x10=5)&(x7=5) p=0; else if(x77) y10=x10+x7-7;y7=7;y3=x3; p1=1; for (i=1;i=rear;i+) if (y10=qi0)&(y7=qi1) p1=0; if (p1=1) rear+; qrear0=y10; qrear1=y7; qrear2=y3; qrear3=front-1; if (x33) y10=x10+x3-3; y7=x7; y3=3; p1=1; for (i=1;i0) y10=x10+x7; y7=0; y3=x3; p1=1; for (i=1;i0)&(x33) y7=x7+x3-3;y3=3; else y7=0;y3=x7+x3; p1=1; for (i=1;i0) y10=x10+x3; y7=x7; y3=0; p1=1; for (i=1;i=rear;i+) if (y10=qi0)&(y7=qi1) p1=0; if (p1=1) rear+; qrear0=y10; qrear1=y7; qrear2=y3; qrear3=front-1; if (x70) y10=x10; if (x7+x37)y7=7;y3=x7+x3-7;elsey7=x7+x3;y3=0; p1=1; for (i=1;i=rear;i+) if (y10=qi0)&(y7=qi1) p1=0; if (p1=1) rear+; qrear0=y10; qrear1=y7; qrear2=y3; qrear3=front-1; front-; for(j=1;j=front;j+) printf (%d %d %d n,qj0,qj1,qj2); getch();运行结果:五、 关键点和桥程序:#include stdio.hmain()int g1010=0,0,0,0,0,0,0,0,0,0, 0,0,1,1,1,0,0,0,0,0, 0,1,0,1,0,0,1,0,0,0, 0,1,1,0,1,1,0,0,0,0, 0,1,0,1,0,1,0,0,0,0, 0,0,0,1,1,0,1,0,0,0, 0,0,1,0,0,1,0,1,0,0, 0,0,0,0,0,0,1,0,1,0, 0,0,0,0,0,0,0,1,0,1, 0,0,0,0,0,0,0,0,1,0;int g01010=0;int i,j,x,front,rear,s,n;int a,b;int flag10=0;int q10;n=9;printf(关键点为:);for(i=5;in;i+)/关键点检索g01010=g1010;g0ii+1=0;g0i+1i=0;flagi=1;q1=i;front=1;rear=1;while(front=rear)x=qfront;front+;for(j=1;j=n;j+)if(flagj=0)&(gxj=1)rear+;qrear=j;flagj=1;if(rear=n-1)printf( %d,i);/广度优先循环搜索判断关键点,不符合条件记录输出。printf(n);printf(桥为:);for(a=6;an;a+)/桥检索g01010=g1010;g0aa+1=0;g0a+1a=0;flaga=1;q1=a;front=1;rear=1;while(front=rear)x=qfront;front+;for(b=1;b=n;b+)if(flagb=0)&(gxb=1)rear+;qrear=b;flagb=1;if(rearn-1)printf( %d%d,a,a+1);getch();运行结果:关键点为: 6 7 8桥为: 67 78 89六、 矩阵程序:main() int i,j,n,k,n1,s,s0,s1,x,y,p; int g2020; int b20; scanf(%d,&n); k=0; for(i=0;in;i+) k+; for(j=i;ji;j-) gn-i-1j=k; gjn-i-1=k; for(i=0;in;i+) for(j=0;jn;j+) printf(%d ,gij); printf(n); s0=0; n1=n+n-2; for(i=0;in;i+) bi=0; for(i=n;in+n-1;i+) bi=1; while(b0=0) s1=1;x=1;y=1; for(i=1;i=n1;i+) if(bi=0) x+; else y+; s1=s1+gxy; p=1; j=2; while(p)&(js1) if(s1%j=0) p=0; else j+; if(p) s0+; if ( bs1) s0+; j=n1; while(bj=0) j-; s1=0; while(bj=1) s1+; bj=0;j-; bj=1; s1-; k=n; for(i=1;i=s1;i+) bk=1; k-; printf(%d,s0); getch();运行结果:七、骑士问题程序:main() int i,k,m,n,top,x,y,w,q,x0,y0; int dx9=0,1,2,2,1,-1,-2,-2,-1; int dy9=0,-2,-1,1,2,2,1,-1,-2; int stack1000; int g100100=0; scanf(%d,%d,%d,&n,&x0,&y0); while(n%2=1)&(x0+y0)%2=1) printf(input error); scanf(%d,%d,%d,&n,&x0,&y0);gx0y0=1;x=x0;y=y0;k=0;top=0; while(top9) k=stacktop; top-; gxy=0; x=x-dxk; y=y-dyk; else w=x+dxk; q=y+dyk; if(w=1)&(w=1)&(q=n)&(gwq=0) x=w; y=q; top+; gxy=1; stacktop=k; k=0; x=x0; y=y0; printf(%d %d,x,y); for(i=1;i=top;i+) x=x+dxstacki; y=y+dystacki; printf(-%d %d,x,y); getch();运行结果:八、士兵排队程序:main()int x,y,i,i1,j,k,s,s1,n,p,j1,j2; int q100; int g77=0,0,0,0,0,0,0, 0,0,0,0,0,0,1, 0,0,0,0,1,1,0, 0,0,0,0,0,0,0, 0,1,0,0,0,1,0, 0,1,0,1,0,0,1, 0,0,0,1,0,0,0; n=6; k=9; p=1;j1=1; while(p)&(j1=n) s=0; for(i=1;i=n;i+) s1=0; for (j=1;j1) printf(error2); p=0; else qj1=j2; j1+; for(i=1;i=n;i+) gij2=1; for(i=1;i=n;i+) gj2i=0; printf(n); if(p) for(i=1;i=n;i+) printf(%d ,qi); getch(); 运行结果:九、huffman树编码程序:#include stdio.h#include stdlib.hint main() int i,i0,i1,j,j1,j0,n,n1,n2,cmin1,cmin,s,k,p; char str30=wabcddeacefgfg; int tree5213=0; int h27=0; int d27; int code2721; str0=13; scanf(%d,&p); for(i=1;i=str0;i+) hstri-96+; n=0; for(i=1;i0) n+; treen1=hi; dn=i; if(n0) n1=n+(p-1)-n2; s=1+(n1-p)/(p-1); n2=n1; for(i=1;i=s;i+) n2+;cmin1=0; for(j=1;j=p;j+) cmin=1000; for(k=1;kn2;k+) if(treek0=0)&(treek1cmin) j1=k;cmin=treek1; cmin1=cmin1+cmin; treen22+p=j1; treej12=n2; treej10=1; treen21=cmin1; for(i=0;i=26;i+) for(k=0;k=20;k+) codeik=-1; for(i=1;i=n;i+) i0=i;i1=treei2;k=21; while(i1!=0) k-; for(j1=3;j13+p;j1+) if(treei1j1=i0) codeik=j1-3; i0=i1;i1=treei12; for(i=1;i=n;i+) printf(%d,di+96); k=1; while(codeik=-1) k+; for(j1=k;j1=20;j1+) printf(%d,codeij1); printf(n); getchar();system(pause); return 0;运行结果:十、最长公共子串程序:main()int i,j,cmax,j1; char a100=wabcdefghijk; char b100=wabcyefghi; char g100100=0; a0=11; b0=9; cmax=0; for(i=1;i=a0;i+) for(j=1;jcmax) j1=j; cmax=gij; else gij=0; printf(%dn,cmax); for(i=j1-cmax+1;i8)/八个方向k=stacktop;top-;gxy=0;x=x-dxk;y=y-dyk;elsew=x+dxk;q=y+dyk;if(w=0)&(q=0)&(gwq=0)/在范围内,路径可走,没做过x=w;y=q;gxy=1;top+;/flagwq=1;stacktop=k;k=0; if (x=0) & (y=n) p=0; /stacktop=k;/k=0; /printf(x=%d&y=%d)n,x,y); x=0;y=0;count=0;printf(n); for(i=0;i=top;i+)x=x+dxstacki;y=y+dystacki;count+;/printf(,x,y);/bi=;/ai=x;/bi=y;printf(,x,y); printf(最短路径是%d,count); getch(); 运行结果:十二、挖宝藏程序:#include stdio.h#define m 10000main()int i,j,k,top,cmax,cen,tk,n,t1,top1;int w20=9,36,41,28,35,53,17,21,32,36;int t1010=0,0,0,0,0,0,0,0,0,0, 0,0,13,m,11,m,9,12,m,m,/1 0,13,0,10,12,m,m,m,m,m,/2 0,m,10,0,m,13,m,m,m,m,/3 0,11,12,m,0,9,m,m,8,m,/4 0,m,m,13,9,0,m,m,m,14,/5 0,9,m,m,m,m,0,17,m,m,/6 0,12,m,m,m,m,17,0,10,m,/7 0,m,m,m,8,m,m,10,0,11, 0,m,m,m,m,14,m,m,11,0; int flag10=0;int stack100;k=40;n=9;cmax=w1;flag1=0;cen=w1;top=0;stack0=1;k=0;t1=0;while(top=0)k+;if(kn)k=stacktop;top-;cen=cen-wk;flagk=0;t1=t1-tstacktopk;else if(flagk=0)&(t1+tstacktopk)flagk=1;cen=cen+wk
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025小学喜迎国庆主题教育活动方案(范本)
- 2025年安徽省阜阳市国家公务员行政职业能力测验预测试题含答案
- 2024年内蒙古自治区兴安盟考研专业综合预测试题含答案
- 2024年二级造价师考试题库带答案
- 2025-2030中国生物油脂市场供需前景状况及发展痛点分析报告
- 2025届浙江省强基联盟高考三模地理试题 及答案
- 2025年福建省莆田市考研专业综合预测试题含答案
- 2024年江西省萍乡市社会工作者职业资格社会工作综合能力(初级)预测试题含答案
- 2025年法考主观试题库及答案
- 2025年化学分析师资格认证试卷及答案
- GB/T 13331-2014土方机械液压挖掘机起重量
- 2023年江苏省成考专升本英语自考试卷(含答案)
- 各类型玻璃幕墙图解
- 变电站交、直流系统培训课件
- 课题申报讲座课件
- 烟花爆竹仓库建设项目可行性研究报告
- 部编版小学三年级上册道德与法治全册教案表格版
- 新人教版(部编版)小学语文1年级上教材解读
- DB22∕T 363-2018 超细干粉灭火系统设计、安装和验收规范
- 设备、设施检修维修记录表范本
- 企业所得税汇算清缴.ppt
评论
0/150
提交评论