敢死队问题Word文件下载.docx

上传人:b****5 文档编号:19922149 上传时间:2023-01-12 格式:DOCX 页数:7 大小:102.58KB
下载 相关 举报
敢死队问题Word文件下载.docx_第1页
第1页 / 共7页
敢死队问题Word文件下载.docx_第2页
第2页 / 共7页
敢死队问题Word文件下载.docx_第3页
第3页 / 共7页
敢死队问题Word文件下载.docx_第4页
第4页 / 共7页
敢死队问题Word文件下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

敢死队问题Word文件下载.docx

《敢死队问题Word文件下载.docx》由会员分享,可在线阅读,更多相关《敢死队问题Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。

敢死队问题Word文件下载.docx

一:

需求分析

二:

概要设计

三:

详细设计

四:

调试分析

五:

运行结果

六:

心得体会

七:

参考文献

一、需求分析:

分析题目要完成的功能,叙述每个模块的功能要求。

程序执行命令包括;

(1)构造数据结构

(2)输入数据

(3)执行的战士出列

(4)输入要求数值

(5)结束

二、概要设计

说明每个功能部分的算法设计(可以使用文字描述,也可以用算法流程图)、系统使用的软件环境。

算法实现:

1,定义类型

2,定义变量并初始化

3,线性表初始化

文字描述:

声明数据类型

定义变量并初始化

输入敢死队总数(20)

创建循环链表,并且输出初始化链表

输入从那个战士开始

输出需要完成任务的战士并且删掉该节点

当出列的战士为10个则退出该循环

输出剩下来的战士

软件环境 

Vc,6.0

三、详细设计

程序使用的存储结构设计说明(包括主要数据类型、变量、函数介绍)、各个算法实现的源程序(主要功能代码,标注清晰的程序注释)。

#include<

stdio.h>

iostream.h>

stdlib.h>

structnode 

//创建结构体节点

{

intdata;

structnode*next;

};

structnode*create(inta) 

//为带结构体指针的函数

structnode*p,*q,*t;

inti;

q=p=(structnode*)malloc(sizeof(structnode));

 

//在内存中开辟一段空间

p->

data=1;

for(i=2;

i<

=a;

i++)

t=(structnode*)malloc(sizeof(structnode));

next=t;

next->

data=i;

//令第i个的内容为i

p=p->

next;

}

next=q;

//使成为一个数据环

for(i=1;

i++) 

//输出整个结构体链表

printf("

%d\t"

p->

data);

returnq;

select(structnode*p,intb,inta)

structnode*q;

intcounter;

intn,i,m=2;

这些是输出的是要去完成任务的战士:

\n"

);

while

(1) 

//这个循环是为了找到从第几个战士开始

if(m==b)

break;

else

m++;

next=p->

//删除该节点

counter=1;

//这个循环是找出剩余的九名去完成任务的战士

if(counter==10)

{break;

n=0;

while

(1)

if(n==4)

n++;

counter++;

这些是输出的是要去完成剩下任务的战士:

=a-10;

voidmain()

inti=0,a,b;

structnode*p;

\t\t这是一个求敢死队问题的程序:

这个程序要求从总共M人中选出来的10个战士,和剩下的战士,挑选方法是从所有的战士中任选一个然后按顺序每隔4个选一个战士。

请输入所有战士的人数:

"

scanf("

%d"

&

a);

p=create(a);

\n请输入从第几个战士开始:

1~M:

b);

if(b>

a)

{printf("

请重新输入:

else{break;

select(p,b,a);

//传值,传入的p是整个数据链的头结点,b,是从第几个战士开始

\n此程序已结束了!

谢谢使用!

四、调试分析

选用合法和非法测试数据,测试系统运行结。

思考系统存在的问题、解决思路。

五、运行结果

六、总结:

包括:

课程设计过程中的收获,遇到问题、解决问题的过程,算法的改进设想,对《数据结构》这门课程的认识等内容。

这次的课程设计让我学会了很多东西。

同时加深了我对数据结构这门课的理解,学会了如何在实际应用中数据结构编程。

我是用线性表来做的,首先我完成了结构体的初始化和创建链表。

链表的所有人数为M,然后输入从那个战士开始出列,建立一个循环当出列的战士为10时结束循环。

出列的要求是每隔4个人出列一个战士。

输出需要完成任务的战士和剩下的战士。

通过这次的编程体会,让我对编程有了一定的认识,第一:

也是最重要的一点,就是要不懂就要问,就要看书,知识不是与生俱来的,在此次课程设计中我有很多不懂,通过问同学,查资料,一点点掌握,最后完成了此次课程设计;

第二:

要有耐心,变成容不得一丁点的错误,一个数百行的程序往往因为一个小错误而无法运行,这是我们就需要耐心地细心地排除错误。

我在编的时候就常常因为一两个错误,老是无法运行,心里一急,脑子一乱,别说改对了,错误一次比一次多,最后想办法让自己冷静下来,慢慢排除错误;

第三:

对知识的掌握和运用,俗话说:

“磨刀不误砍柴工”,在编的时候,先要把知识掌握好,什么不懂先搞懂,这样在编程的时候才能得心应手。

这是我和我的同伴的一点感想。

七、参考文献:

谭浩强的《c语言程序设计》

大二的《数据结构》课本

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1