敢死队问题完整c语言程序,敢死队问题 - 管理与工程技术学习平台 - 技术标准网...

《敢死队问题》由会员分享,可在线阅读,更多相关《敢死队问题(8页珍藏版)》请在技术文库上搜索。

1、数据结构 课程设计报告 设计题目: 敢死队问题 专 业 网络工程 学 生 1 学 生 2 指导教师 路莹 起止时间 2011/6/202011/6/24 数据结构数据结构课程设计报告目录课程设计报告目录 一:需求分析一:需求分析 二:概要设计二:概要设计 三:详细设计三:详细设计 四:调试分析四:调试分析 五:运行结果五:运行结果 六:心得体会六:心得体会 七:参考文献七:参考文献 一、一、需求分析:需求分析: 分析题目要完成的功能,叙述每个模块的功能要求。 程序执行命令包括; (1) 构造数据结构 (2) 输入数据 (3) 执行的战士出列 (4) 输入要求数值 (5) 结束 二、二、概要设计。

2、概要设计 说明每个功能部分的算法设计(可以使用文字描述,也可以用算法流程图)、系 统使用的软件环境。 算法实现: 1,定义类型 2,定义变量并初始化 3,线性表初始化 文字描述: 声明数据类型 定义变量并初始化 输入敢死队总数 (20) 创建循环链表,并且输出初始化链表 输入从那个战士开始 输出需要完成任务的战士并且删掉该节点 当出列的战士为 10 个则退出该循环 输出剩下来的战士 软件环境 Vc,6.0 三、三、详细设计详细设计 程序使用的存储结构设计说明(包括主要数据类型、变量、函数介绍)、各个算 法实现的源程序(主要功能代码,标注清晰的程序注释)。 #include #include #。

3、include struct node /创建结构体节点 int data; struct node *next; ; struct node *create(int a) /为带结构体指针的函数 struct node *p,*q,*t; int i; q=p=(struct node *)malloc(sizeof(struct node ); /在内存中开辟一段空 间 p-data=1; for(i=2;inext=t; p-next-data=i; /令第 i 个的内容为 i p=p-next; p-next=q; /使成为一个数据环 for(i=1;inext-data); p=p-。

4、next; return q; select(struct node *p,int b,int a) struct node *q; int counter; int n,i,m=2; printf(“这些是输出的是要去完成任务的战士:n“); while(1) /这个循环是为了找到从第几个战士开始 if(m=b) printf(“%dt“,p-next-data); break; else p=p-next; m+; p-next=p-next-next; /删除该节点 counter=1; while(1) /这个循环是找出剩余的九名去 完成任务的战士 if(counter=10) bre。

5、ak; n=0; while(1) if(n=4) printf(“%dt“,p-next-data); p-next=p-next-next; break; p=p-next; n+; counter+; printf(“这些是输出的是要去完成剩下任务的战士:n“); for(i=1;idata); p=p-next; void main() int i=0,a,b; struct node *p; printf(“tt 这是一个求敢死队问题的程序:n“); printf(“这个程序要求从总共 M 人中选出来的 10 个战士,和剩下的战士, 挑选方法是从所有的战士中任选一个然后按顺序每隔 4。

6、 个选一个战士。n“); printf(“请输入所有战士的人数:“); scanf(“%d“, p=create(a); while(1) printf(“n 请输入从第几个战士开始:1M:n“); scanf(“%d“, if(ba) printf(“请重新输入:“); elsebreak; select(p,b,a); /传值,传入的 p 是整个数据链的 头结点,b,是从第几个战士开始 printf(“n 此程序已结束了!谢谢使用!n“); 四、四、调试分析调试分析 选用合法和非法测试数据,测试系统运行结。思考系统存在的问题、解决思路。 五、运行结果五、运行结果 六、六、总结:总结: 包括。

7、: 课程设计过程中的收获,遇到问题、解决问题的过程,算法的改进设想,对 数据结构这门课程的认识等内容。 这次的课程设计让我学会了很多东西。同时加深了我对数据结构这门课 的理解,学会了如何在实际应用中数据结构编程。我是用线性表来做的, 首先我完成了结构体的初始化和创建链表。链表的所有人数为 M,然后输 入从那个战士开始出列,建立一个循环当出列的战士为 10 时结束循环。出 列的要求是每隔 4 个人出列一个战士。输出需要完成任务的战士和剩下的 战士。 通过这次的编程体会,让我对编程有了一定的认识,第一:也是最重要 的一点,就是要不懂就要问,就要看书,知识不是与生俱来的,在此次课 程设计中我有很多不懂,通过问同学,查资料,一点点掌握,最后完成了 此次课程设计;第二:要有耐心,变成容不得一丁点的错误,一个数百行 的程序往往因为一个小错误而无法运行,这是我们就需要耐心地细心地排 除错误。我在编的时候就常常因为一两个错误,老是无法运行,心里一急, 脑子一乱,别说改对了,错误一次比一次多,最后想办法让自己冷静下来, 慢慢排除错误;第三:对知识的掌握和运用,俗话说:“磨刀不误砍柴工” , 在编的时候,先要把知识掌握好,什么不懂先搞懂,这样在编程的时候才 能得心应手。这是我和我的同伴的一点感想。 七、参考文献:七、参考文献: 谭浩强的c 语言程序设计 大二的数据结构课本 。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值