当前位置:文档之家› 安徽工业大学数据结构实验报告

安徽工业大学数据结构实验报告

安徽工业大学数据结构实验报告
安徽工业大学数据结构实验报告

安徽工业大学计算机学院

数据结构实验报告

姓名:**

学号:**

班级:**

教师:**

内容:线性表基本操作的实现

栈的基本操作

串的模式匹配

二叉树操作

图的创建与遍历

2012/5/25

实验一线性表基本操作的实

一、实验目的

1、掌握使用Turbo C2.0上机调试线性表的基本方法;

2、掌握线性表的基本操作:插入、删除、查找等运算在顺序存储结构和链式存储结构上的运算。

二、实验要求

1、链表插入、删除和查找算法的代码;

2、程序运行结果及分析;

3、实验总结。

三、实验内容

1、认真阅读和掌握本实验的参考程序。

2、上机运行本程序,并完善删除、查找等运算。

3、保存程序的运行结果,并结合程序进行分析。

4、按照你对链表操作需要,重新改写算法并运行,实现链表的插入、删除、查找等运算,并保存运行结果。

四、程序流程图、算法及运行结果

1-1

#include "stdio.h"

#include "stdlib.h"

#define MAXSIZE 100

struct SeqList

{

int data[MAXSIZE];

int length;

};

typedef struct SeqList *PSeqList;

PSeqList creaeNullList_seq()

{

PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList));

if(palist!=NULL)

{

palist->length=0;

return(palist);

}

printf("Out of space!!\n");

return NULL;

}

int isNullList_seq(PSeqList palist)

{

return (palist->length==0);

}

int insertPre_seq(PSeqList palist,int p,int x) {

int q;

if(palist->length>=MAXSIZE)

{

printf("overflow!\n");

return(0);

}

if(p<0 || p>palist->length)

{

printf("Not exist!\n");

return(0);

}

if(isNullList_seq(palist))

{

palist->data[0]=x;

palist->length=1;

return(1);

}

for(q=palist->length-1;q>=p;q--)

palist->data[q+1]=palist->data[q] ;

palist->data[p]=x;

palist->length= palist->length+1;

return(1);

}

void main()

{

int i;

PSeqList list;

list=creaeNullList_seq();

printf("插入前的顺序表为:\n ");

for(i=0;i<=9;i++)

{

insertPre_seq(list,i,i*i);

printf(" %d " , list->data[i]);

}

insertPre_seq(list,5,55);

printf("\n插入后的顺序表为:\n ");

for(i=0;ilength;i++)

printf(" %d " , list->data[i]);

printf("\n");

getch();

}

1-2

#include "stdio.h"

#include "stdlib.h"

#define MAXSIZE 100

struct SeqList

{

int data[MAXSIZE];

int length;

};

typedef struct SeqList *PSeqList;

PSeqList creaeNullList_seq()

{

PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList));

if(palist!=NULL)

{

palist->length=0;

return(palist);

}

printf("Out of space!!\n");

return NULL;

}

int isNullList_seq(PSeqList palist)

{

return (palist->length==0);

}

/* 插入*/

int insertPre_seq(PSeqList palist,int p,int x)

{

int q;

if(palist->length>=MAXSIZE)

{

printf("overflow!\n");

return(0);

}

if(p<0 || p>palist->length)

{

printf("Not exist!\n");

return(0);

}

if(isNullList_seq(palist))

{

palist->data[0]=x;

palist->length=1;

return(1);

}

for(q=palist->length-1;q>=p;q--)

palist->data[q+1]=palist->data[q] ;

palist->data[p]=x;

palist->length= palist->length+1;

return(1);

}

/* 删除*/

int deletePre_seq(PSeqList palist, int i)

{

int j;

if (!palist)

{

printf("表不存在");

return(-1);

}

if(i<1 || i> palist -> length)

{

printf ("删除位置不合法");

return(0);

}

for(j=i;j< palist -> length;j++)

palist ->data[j-1]= palist ->data[j]; palist -> length --;

return (1);

}

/* 检索ElementType */

int locationPre_seq(PSeqList palist,int x)

{

int i=0;

if (!palist)

{

printf("表不存在");

return(-1);

}

while (i< palist->length && palist->data[i]!= x)

i++;

if (i>=palist-> length) return 0;

else return (i + 1);

}

void main()

{

int i;

PSeqList list;

list=creaeNullList_seq();

printf("插入前的顺序表为:\n "); for(i=0;i<=9;i++)

{

insertPre_seq(list,i,i*i);

printf(" %d " , list->data[i]); }

insertPre_seq(list,5,55);

printf("\n插入后的顺序表为:\n "); for(i=0;ilength;i++)

printf(" %d " , list->data[i]);

printf("\n");

printf("删除前的顺序表为:\n "); for(i=0;i<=9;i++)

{

insertPre_seq(list,i,i*i);

printf(" %d " , list->data[i]); }

deletePre_seq(list, 5);

printf("\n删除后的顺序表为:\n "); for(i=0;i<=8;i++)

printf(" %d " , list->data[i]);

printf("\n");

if(locationPre_seq(list,9)==0)

printf("检索的内容不存在!");

if(locationPre_seq(list,9)!=0&&locationPre_seq(list,9)!=-1)

printf("检索的内容下标为:%d",locationPre_seq(list,9));

printf("\n");

getch();

}

实验二栈的基本操作一、实验目的

掌握栈的基本操作:初始化栈、判栈为空、出栈、入栈等运算。

二、实验要求

1.认真阅读和掌握本实验的算法。

2.上机将本算法实现。

3.保存程序的运行结果,并结合程序进行分析。

三、实验内容

利用栈的基本操作实现将任意一个十进制整数转化为R进制整数算法为:

1、定义栈的顺序存取结构

2、分别定义栈的基本操作(初始化栈、判栈为空、出栈、入栈等)

3、定义一个函数用来实现上面问题:

(1)十进制整数X和R作为形参

(2)初始化栈

(3)只要X不为0重复做下列动作

将X % R入栈, X=X/R

(4)只要栈不为空重复做下列动作

栈顶出栈, 输出栈顶元素

四、程序流程图、算法及运行结果

2-1

#include

#include

#include

#define stack_init_size 100

#define stackincrement 10

typedef struct sqstack

{

int *base;

int *top;

int stacksize;

} sqstack;

int StackInit(sqstack *s)

{

s->base=(int *)malloc(stack_init_size *sizeof(int));

if(!s->base)

return 0;

s->top=s->base;

s->stacksize=stack_init_size;

return 1;

}

int Push(sqstack *s,int e)

if(s->top-s->base>=s->stacksize)

{

s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int));

if(!s->base)

return 0;

s->top=s->base+s->stacksize;

s->stacksize+=stackincrement;

}

*(s->top++)=e;

return e;

}

int Pop(sqstack *s,int e)

{

if(s->top==s->base)

return 0;

e=*--s->top;

return e;

}

int stackempty(sqstack *s)

if(s->top==s->base)

{

return 1;

}

else

{

return 0;

}

}

int conversion(sqstack *s)

{

int n,e=0,flag=0;

printf("输入要转化的十进制数:\n");

scanf("%d",&n);

printf("要转化为多少进制:2进制、8进制、16进制填数字!\n");

scanf("%d",&flag);

printf("将十进制数%d转化为%d进制是:\n",n,flag);

while(n)

{

Push(s,n%flag);

n=n/flag;

}

while(!stackempty(s))

{

e=Pop(s,e);

switch(e)

{

case 10: printf("A");

break;

case 11: printf("B");

break;

case 12: printf("C");

break;

case 13: printf("D");

break;

case 14: printf("E");

break;

case 15: printf("F");

break;

default: printf("%d",e);

}

}

printf("\n");

return 0;

}

int main()

{

sqstack s;

StackInit(&s);

conversion(&s);

return 0;

}

2-2

#include

#define MAXSIZE 100

struct stack

{

int data[MAXSIZE];

int top;

};

void init(struct stack *s)

{

s->top=-1;

}

int empty(struct stack *s)

{

if(s->top==-1) return 1;

else return 0; }

void push(struct stack *s,int i) {

if(s->top==MAXSIZE-1){

printf("Stack is full.\n");

return;

}

s->top++;

s->data[s->top]=i;

}

int pop(struct stack *s)

{

if(empty(s)){

printf("Stack is empty.");

return -1;

}

return(s->data[s->top--]); }

void trans(int num)

{

struct stack s;

int k;

init(&s);

while(num){

k=num%16;

push(&s,k);

数据结构实验报告格式

《数据结构课程实验》大纲 一、《数据结构课程实验》的地位与作用 “数据结构”是计算机专业一门重要的专业技术基础课程,是计算机专业的一门核心的关键性课程。本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术,并做了性能分析和比较,内容非常丰富。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。 由于以下原因,使得掌握这门课程具有较大的难度: (1)内容丰富,学习量大,给学习带来困难; (2)贯穿全书的动态链表存储结构和递归技术是学习中的重点也是难点; (3)所用到的技术多,而在此之前的各门课程中所介绍的专业性知识又不多,因而加大了学习难度; (4)隐含在各部分的技术和方法丰富,也是学习的重点和难点。 根据《数据结构课程》课程本身的技术特性,设置《数据结构课程实验》实践环节十分重要。通过实验实践内容的训练,突出构造性思维训练的特征, 目的是提高学生组织数据及编写大型程序的能力。实验学时为18。 二、《数据结构课程实验》的目的和要求 不少学生在解答习题尤其是算法设计题时,觉得无从下手,做起来特别费劲。实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。 为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。数据结构中稍微复杂一些的算法设计中可能同时要用到多种技术和方法,如算法设计的构思方法,动态链表,算法的编码,递归技术,与特定问题相关的技术等,要求重点掌握线性链表、二叉树和树、图结构、数组结构相关算法的设计。在掌握基本算法的基础上,掌握分析、解决实际问题的能力。 三、《数据结构课程实验》内容 课程实验共18学时,要求完成以下六个题目: 实习一约瑟夫环问题(2学时)

数据结构实验答案1

重庆文理学院软件工程学院实验报告册 专业:_____软件工程__ _ 班级:_____软件工程2班__ _ 学号:_____201258014054 ___ 姓名:_____周贵宇___________ 课程名称:___ 数据结构 _ 指导教师:_____胡章平__________ 2013年 06 月 25 日

实验序号 1 实验名称实验一线性表基本操作实验地点S-C1303 实验日期2013年04月22日 实验内容1.编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。 2.编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。 3.编程序实现将单链表的数据逆置,即将原表的数据(a1,a2….an)变成 (an,…..a2,a1)。(单链表的数据域数据类型为一结构体,包括学生的部分信息:学号,姓名,年龄) 实验过程及步骤1. #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/ typedef struct

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/ }SeqList; #include "common.h" #include "seqlist.h" void px(SeqList *A,int j); void main() { SeqList *l; int p,q,r; int i; l=(SeqList*)malloc(sizeof(SeqList)); printf("请输入线性表的长度:"); scanf("%d",&r); l->last = r-1; printf("请输入线性表的各元素值:\n"); for(i=0; i<=l->last; i++) { scanf("%d",&l->elem[i]); } px(l,i); printf("请输入要插入的值:\n");

数据库实验

安徽工业大学数据库上机实验报告 专业:工业工程 班级:工112 学号: 姓名:

【实验2_1】查询学生基本信息表中的所有信息。 SQL语句如下: SELECT * FROM 学生基本信息表; 【实验2_2】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。SQL语句如下: SELECT 学号, 姓名, 性别, 族别 FROM 学生基本信息表;

【实验2_3】从学生基本信息表中查询学生由哪些民族构成。 学生的族别有多行重复,要快速查询学生的民族构成,实际上就是对相同值的族别只需要显示一行,可使用DISTINCT关键字实现。 SQL语句如下: SELECT DISTINCT 学生基本信息表.族别 FROM 学生基本信息表 【实验2_4】从成绩表中查询学生成绩。 SQL语句如下: SELECT 学号, 成绩 FROM 成绩表; 【实验2_5】从相关表中查询每一位学生的学号、姓名、课程名称、成绩。 SQL语句如下:

SELECT 成绩表.学号, 学生基本信息表.姓名, 课程信息表.课程名称, 成绩表.成绩 FROM 课程信息表, 成绩表, 学生基本信息表 WHERE 学生基本信息表.学号=成绩表.学号and 成绩表.课程编号=课程信息表.课程编号; 【实验2_6】在课程信息表中查找“Delphi程序设计”课程的任课老师。 SQL语句如下: SELECT 课程名称, 任课教师 FROM 课程信息表 WHERE 课程名称="Delphi程序设计"; 【实验2_7】查询少数民族学生的基本情况。 SQL语句如下: SELECT * FROM 学生基本信息表

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

《数据结构》实验报告

苏州科技学院 数据结构(C语言版) 实验报告 专业班级测绘1011 学号10201151 姓名XX 实习地点C1 机房 指导教师史守正

目录 封面 (1) 目录 (2) 实验一线性表 (3) 一、程序设计的基本思想,原理和算法描述 (3) 二、源程序及注释(打包上传) (3) 三、运行输出结果 (4) 四、调试和运行程序过程中产生的问题及采取的措施 (6) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (6) 实验二栈和队列 (7) 一、程序设计的基本思想,原理和算法描述 (8) 二、源程序及注释(打包上传) (8) 三、运行输出结果 (8) 四、调试和运行程序过程中产生的问题及采取的措施 (10) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (10) 实验三树和二叉树 (11) 一、程序设计的基本思想,原理和算法描述 (11) 二、源程序及注释(打包上传) (12) 三、运行输出结果 (12) 四、调试和运行程序过程中产生的问题及采取的措施 (12) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (12) 实验四图 (13) 一、程序设计的基本思想,原理和算法描述 (13) 二、源程序及注释(打包上传) (14) 三、运行输出结果 (14) 四、调试和运行程序过程中产生的问题及采取的措施 (15) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (16) 实验五查找 (17) 一、程序设计的基本思想,原理和算法描述 (17)

二、源程序及注释(打包上传) (18) 三、运行输出结果 (18) 四、调试和运行程序过程中产生的问题及采取的措施 (19) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (19) 实验六排序 (20) 一、程序设计的基本思想,原理和算法描述 (20) 二、源程序及注释(打包上传) (21) 三、运行输出结果 (21) 四、调试和运行程序过程中产生的问题及采取的措施 (24) 五、对算法的程序的讨论、分析,改进设想,其它经验教训 (24) 实验一线性表 一、程序设计的基本思想,原理和算法描述: 程序的主要分为自定义函数、主函数。自定义函数有 InitList_Sq、Out_List、ListInsert_Sq、ListDelete_Sq、LocateElem_Sq 、compare。主函数在运行中调用上述的自定义函数,每个自定义函数实现程序的每部分的小功能。 1.程序设计基本思想 用c语言编译程序,利用顺序存储方式实现下列功能:根据键盘输入数据建立一个线性表,并输出该线性表;然后根据屏幕菜单的选择,可以进行数据的插入、删除、查找,并在插入或删除数据后,再输出线性表;最后在屏幕菜单中选择结束按钮,即可结束程序的运行。 2.原理 线性表通过顺序表现,链式表示,一元多项式表示,其中链式表示又分为静态链表,双向链表,循环链表等,在不同的情况下各不相同,他可以是一个数字,也可以是一个符号,通过符号或数字来实现程序的运行。 3.算法描述

安徽工业大学信息检索考试

一、单选题(每题1分,共20题) 1.期刊类参考文献的标准著录格式是____________。(D)正确 A、[序号]作者.题名[D].保存地点:保存单位,年 B、[序号]作者.题名[A].见(英文用In):主编.论文集名[C].出版地:出版者,出版年.起止页码 C、[序号]著者.书名[M].版本(第一版不写).出版地:出版者,出版年.起止页码 D、[序号]作者.题名[J].刊名,出版年份,卷号(期号):起止页码 2.检索语言中,_______是自然语言。(D)正确 A.标题词 B.主题词 C.单元词 D.关键词 3.下列属于布尔逻辑算符的是____________ 。(D)正确 A、与 B、或 C、非 D、以上都是 4.下列属于文献外表特征的是(C)正确 A.分类号 B.主题词 C.文献题名 D.关键词 5.字段代码AU、AB、PY所代表的字段是?(B)正确 A.标题、注释、文摘类型 B.著者、文摘、出版年 C.叙词、分类、语言 6.ISBN号是哪种文献特有的标识?(A)正确 A.图书 B.期刊 C.科技报告 D.专利文献 7.请标出文献:[3]李旭东,宗光华,毕树生,等.生物工程微操作机器人视觉系统的研究[J].北京航空航天大学学报,2002,28(3):249~252 属于哪种文献类型____________。(B)正确 A、图书 B、期刊 C、科技报告 D、报纸 8.以下哪些数据库不属于数值与事实数据库?(D)正确

B.搜数网统计年鉴数据库 C.国研网之国研数据 D.人大报刊复印资料 9.我馆所收藏的由叶迷著的图书《诺亚方舟》(珠海出版社2004 )的索书号是(A)正确 A.I247.57/H1282; B.I247.7/H1282 ; C.H247.57/H1282; D.I247.57/Y1282 10.在线公共目录检索系统(OPAC)属于什么检索系统(A)正确 A.目录检索系统 B.文摘检索系统 C.全文检索系统 11.利用文献末尾所附参考文献进行检索的方法是(C)正确 A.倒查法 B.顺查法 C.引文追溯法 D.抽查法 12.本馆常用外语类、经济类图书的分类号分别是:(A)正确 A.H、F B.H、C C.I、H E.I、F 13.截词符“?”可以用来代替0个或()个字符?(B)正确 A.多个 B.1个 C.2个 D.3个 14.国际上评价期刊最有影响力的一个指标是(A)正确 A.影响因子 B.读者统计数据 C.引文量 D.价格 15.查找安工大图书馆纸本图书和纸本期刊收藏地点,可利用:(A)错误正确答案:D A. CNKI B.重庆维普 C.文献传递

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1.实验目的 (1)掌握使用Visual C++ 6.0上机调试程序的基本方法; (2)掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)认真阅读和掌握本章相关内容的程序。 (3)上机运行程序。 (4)保存和打印出程序的运行结果,并结合程序进行分析。 (5)按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>//头文件 #include//库头文件-----动态分配内存空间 typedef int elemtype;//定义数据域的类型 typedef struct linknode//定义结点类型 { elemtype data;//定义数据域 struct linknode *next;//定义结点指针 }nodetype; 2)创建单链表

nodetype *create()//建立单链表,由用户输入各结点data域之值,//以0表示输入结束 { elemtype d;//定义数据元素d nodetype *h=NULL,*s,*t;//定义结点指针 int i=1; cout<<"建立一个单链表"<> d; if(d==0) break;//以0表示输入结束 if(i==1)//建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));//表示指针h h->data=d;h->next=NULL;t=h;//h是头指针 } else//建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t始终指向生成的单链表的最后一个节点

数据结构实验报告(2015级)及答案

数据结构实验报告(2015级)及答案

《数据结构》实验报告 专业__信息管理学院______ 年级__2015级___________ 学号___ _______ 学生姓名___ _ _______ 指导老师____________ 华中师范大学信息管理系编

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 II 实验内容 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 1.一个线性表有n个元素(n

的顺序不变。设计程序实现。要求:采用顺序存储表示实现;采用链式存储表示方法实现;比较两种方法的优劣。 2. 从单链表中删除指定的元素x,若x在单链表中不存在,给出提示信息。 要求: ①指定的值x由键盘输入; ②程序能处理空链表的情况。 3.设有头结点的单链表,编程对表中的任意值只保留一个结点,删除其余值相同的结点。 要求: ①该算法用函数(非主函数)实现; ②在主函数中调用创建链表的函数创建一个单链表, 并调用该函数,验证算法的正确性。 LinkedList Exchange(LinkedList HEAD,p)∥HEAD是单链表头结点的指针,p是链表中的一个结点。本算法将p所指结点与其后 继结点交换。 {q=head->next;∥q是工作指针,指向链表中当前待处理结点。 pre=head;∥pre是前驱结点指针,指向q的前驱。 while(q!=null && q!=p){pre=q;q=q->next;} ∥

安徽工业大学文献检索E次作业

一、单选题(每题2分,共5题) 1.智立方?知识发现系统是一个知识资源的大数据服务平台,它是哪家数据资源服务商推出的?(B)正确 A. 中国知网 B. 维普资讯 C. 万方数据 D. 读秀学术搜索 E. EBSCO 2.在万方数据平台检索我校刘晓东的论文《DC/DC变换器并联均流技术》的出处:(A)正确 A. 《安徽工业大学学报(自然科学版)》2013年1期 B. 《电子技术应用》2012年12期 C. 《工业控制计算机》 2012年5期 D. 《电子技术应用》2013年2期 3.在万方中查找“基于粗糙集的神经网络建模方法研究”的文献,检索结果最多的是:(D)正确 A. 粗糙集神经网络建模方法 B. 基于粗糙集的神经网络建模方法研究 C. 粗糙集神经网络建模研究 D. 粗糙集神经网络建模 4. 在万方数据资源(网站地址:https://www.doczj.com/doc/7418703.html,)进入学术期刊,使用“期刊检索”功能,“按学科分类”找到“ 自动化技术与计算机技术”中的“自动化与仪表”,打开该期刊的2014年第8期,选出篇名为“基于ARM-Linux的火电机组在线性能监测系统”的文献的第一作者:(A)正确 A. 方彦军 B.董政呈 C.杨军

D.林涛 5. 在万方数据资源(网站地址:https://www.doczj.com/doc/7418703.html,)进入学术期刊,使用“学位检索”功能,“学科、专业目录”找到“ 电气工程”中的"电力系统及其自动化",打开2013年博士学位论文,选出篇名为“间歇性能源输出功率预测与储能系统规划”的论文的作者:(B)正确 A. 王守相 B. 张娜 C. 王俊 D. 罗卫红 二、多选题(每题5分,共8题) 1.进入维普期刊资源整合服务平台(https://www.doczj.com/doc/7418703.html,/)期刊文献检索,利用 “基本检索”功能查找安徽工业大学谢能刚为第一作者2001-2012年发表的期刊论文,正确的检索结果是?(A、C、E)正确 A. 40篇; B. 107篇; C.被EI收录16篇; D.EI收录26篇; E.核心期刊31篇。 2.进入维普期刊资源整合服务平台(https://www.doczj.com/doc/7418703.html,/)期刊文献检索,利用 “基本检索”功能查找安徽工业大学谢能刚为第一作者2005-2012年发表的期刊论文,正确的检索结果是?(A、C、E)错误正确答案:A、D、E A. 17篇; B. 107篇; C.被EI收录16篇; D.被EI收录6篇; E.核心期刊14篇。

安徽工业大学软件工程实验报告

《软件工程》实验报告 姓名:江文杰 学号:139074333 班级:网133 指导老师:周兵

一.实验目的 1.能按照软件工程的思想,采用面向过程的方法开发出一个小型软件系统。 2.在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程的知识。 3.培养良好的软件开发习惯,了解软件企业文化。 4.掌握结构化数据流分析技术。 5.掌握结构化程序设计的基本概念与技术,并且养成良好的编码风格。 6.掌握单元测试的一般步骤及技术。 7.掌握集成测试的一般步骤和技术。 二.实验内容 1.软件需求分析 ①、功能需求分析 ·输入一个年份(1-3000),然后显示12个月的月历 ·能解决闰年和平年问题 ·能输出显示结果 ②、运行需求分析 ·操作系统:Windows9x, Windows2000, Windows XP及更高版本 ③、数据流图

软件结构图: 2.软件设计与编码 #include #include #include #include #define firstdayof1 1 /* 定义第一年的第一天,星期日=7 */ #define gap " " /* set gap between numbers of dates */ #define dent " " /* set right margin. */ struct info { int month; int firstdayofmonth; int daysofmonth; int leap; }monthinfo;

数据结构实验报告模板

2009级数据结构实验报告 实验名称:约瑟夫问题 学生姓名:李凯 班级:21班 班内序号:06 学号:09210609 日期:2010年11月5日 1.实验要求 1)功能描述:有n个人围城一个圆圈,给任意一个正整数m,从第一个人开始依次报数,数到m时则第m个人出列,重复进行,直到所有人均出列为止。请输出n个人的出列顺序。 2)输入描述:从源文件中读取。 输出描述:依次从显示屏上输出出列顺序。 2. 程序分析 1)存储结构的选择 单循环链表 2)链表的ADT定义 ADT List{ 数据对象:D={a i|a i∈ElemSet,i=1,2,3,…n,n≧0} 数据关系:R={< a i-1, a i>| a i-1 ,a i∈D,i=1,2,3,4….,n} 基本操作: ListInit(&L);//构造一个空的单链表表L ListEmpty(L); //判断单链表L是否是空表,若是,则返回1,否则返回0. ListLength(L); //求单链表L的长度 GetElem(L,i);//返回链表L中第i个数据元素的值; ListSort(LinkList&List) //单链表排序 ListClear(&L); //将单链表L中的所有元素删除,使单链表变为空表 ListDestroy(&L);//将单链表销毁 }ADT List 其他函数: 主函数; 结点类; 约瑟夫函数 2.1 存储结构

[内容要求] 1、存储结构:顺序表、单链表或其他存储结构,需要画示意图,可参考书上P59 页图2-9 2.2 关键算法分析 结点类: template class CirList;//声明单链表类 template class ListNode{//结点类定义; friend class CirList;//声明链表类LinkList为友元类; Type data;//结点的数据域; ListNode*next;//结点的指针域; public: ListNode():next(NULL){}//默认构造函数; ListNode(const Type &e):data(e),next(NULL){}//构造函数 Type & GetNodeData(){return data;}//返回结点的数据值; ListNode*GetNodePtr(){return next;}//返回结点的指针域的值; void SetNodeData(Type&e){data=e;}//设置结点的数据值; void SetNodePtr(ListNode*ptr){next=ptr;} //设置结点的指针值; }; 单循环链表类: templateclass CirList { ListNode*head;//循环链表头指针 public: CirList(){head=new ListNode();head->next=head;}//构造函数,建立带头节点的空循环链表 ~CirList(){CirListClear();delete head;}//析构函数,删除循环链表 void Clear();//将线性链表置为空表 void AddElem(Type &e);//添加元素 ListNode *GetElem(int i)const;//返回单链表第i个结点的地址 void CirListClear();//将循环链表置为空表 int Length()const;//求线性链表的长度 ListNode*ListNextElem(ListNode*p=NULL);//返回循环链表p指针指向节点的直接后继,若不输入参数,则返回头指针 ListNode*CirListRemove(ListNode*p);//在循环链表中删除p指针指向节点的直接后继,且将其地址通过函数值返回 CirList&operator=(CirList&List);//重载赋

数据结构实验报告-答案

数据结构(C语言版) 实验报告

专业班级学号姓名 实验1 实验题目:单链表的插入和删除 实验目的: 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求: 建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测 试程序的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序: (1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码: #include"" #include"" #include"" #include"" typedef struct node . . 示意图:

head head head 心得体会: 本次实验使我们对链表的实质了解更加明确了,对链表的一些基本操作也更加熟练了。另外实验指导书上给出的代码是有一些问题的,这使我们认识到实验过程中不能想当然的直接编译执行,应当在阅读并完全理解代码的基础上再执行,这才是实验的意义所在。

实验2 实验题目:二叉树操作设计和实现 实验目的: 掌握二叉树的定义、性质及存储方式,各种遍历算法。 实验要求: 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历 的操作,求所有叶子及结点总数的操作。 实验主要步骤: 1、分析、理解程序。 2、调试程序,设计一棵二叉树,输入完全二叉树的先序序列,用#代表虚结点(空指针), 如ABD###CE##F##,建立二叉树,求出先序、中序和后序以及按层次遍历序列,求 所有叶子及结点总数。 实验代码 #include"" #include"" #include"" #define Max 20 ertex=a; irstedge=NULL; irstedge; G->adjlist[i].firstedge=s; irstedge; R[i] 留在原位

数据库实验报告

《数据库系统概论》实验报告书 专业班级软件 学号16677777 姓名哈哈 指导教师陈业斌 安徽工业大学计算机学院

实验一:数据定义/数据操纵语言 [ 实验日期 ] 2016 年 9 月 24 日 [ 实验目的 ] 熟悉Oracle上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 [ 实验内容 ] 1.SQL数据定义语句: 例1-1: (建立如附录一所示的四张数据表) 按要求建立教学数据库表结构及其完整性约束关系,并将数据分别插入到教学数据库的四个数据库表中。 例1-2: (修改表结构) 在Student表中将SSEX字段修改为char(2),观察返回结果,分析原因。显示:alter table STUDENT modify (SSEX char(2)) 错误报告 - SQL 错误: ORA-01441: 无法减小列长度, 因为一些值过大 01441. 00000 - "cannot decrease column length because some value is too big" 例1-3: (修改表结构) 在Student表中增加BirthDay(date) 字段。 alter table STUDENT add BirthDay DATE; 例1-4: (修改表结构) 在Student表中删除BirthDay字段。 alter table STUDENT drop column BirthDay; 例1-5: (修改表结构) 在Student表中增加一个默认值约束,约束’性别’的默认值为’男’。alter table STUDENT modify (SSEX default '男'); 2. SQL数据操纵语句: 例2-1: (插入数据) 执行如下语句向student表中插入一条数据。 insert into student(sno,sname,sdept) values('96001','张三','SC'); (1)根据返回信息解释其原因; 显示: 在行: 5 上开始执行命令时出错 - insert into student(sno,sname,sdept) values('96001','张三','SC') 错误报告 - SQL 错误: ORA-01400: 无法将 NULL 插入 ("STU"."STUDENT"."SCLASS") 01400. 00000 - "cannot insert NULL into (%s)" 原因:在定义表结构时已将SCLASS约束为NOT NULL。并且学号是主键,表里已经有学号为96001的学生,违反了主键的唯一性约束条件。 (2)修改上面插入语句,让其能正确地插入一条记录。

安徽工业大学误差实验报告

实验一 误差的基本性质与处理 一、实验目的 了解误差的基本性质以及处理方法 二、实验原理 (1)正态分布 设被测量的真值为0L ,一系列测量值为i L ,则测量列中的随机误差i δ为 i δ=i L -0L (2-1) 式中i=1,2,…..n. 正态分布的分布密度()()2 22f δσδ -= (2-2) 正态分布的分布函数()()22 2F e d δδσδδ --∞=(2-3) 式中σ-标准差(或均方根误差); 它的数学期望为 ()0E f d δδδ+∞ -∞==? (2-4) 它的方差为 ()22f d σδδδ+∞ -∞=? (2-5) (2)算术平均值 对某一量进行一系列等精度测量,由于存在随机误差,其测得值皆不相同,应以全部测得值的算术平均值作为最后的测量结果。 1、算术平均值的意义 在系列测量中,被测量所得的值的代数和除以n 而得的值成为算术平均值。 设 1l ,2l ,…,n l 为n 次测量所得的值,则算术平均值121...n i n i l l l l x n n =++==∑ 算术平均值与真值最为接近,由概率论大数定律可知,若测量次数无限增加,则算术平均值x 必然趋近于真值0L 。

i v = i l -x i l ——第i 个测量值,i =1,2,...,;n i v ——i l 的残余误差(简称残差) 2、算术平均值的计算校核 算术平均值及其残余误差的计算是否正确,可用求得的残余误差代数和性质来校核。 残余误差代数和为: 11n n i i i i v l nx ===-∑∑ 当x 为未经凑整的准确数时,则有 1n i i v ==∑0 1)残余误差代数和应符合: 当1 n i i l =∑=nx ,求得的x 为非凑整的准确数时,1n i i v =∑为零; 当1 n i i l =∑>nx ,求得的x 为凑整的非准确数时,1n i i v =∑为正;其大小为求x 时的余数。 当1n i i l =∑

数据结构实验报告-答案.doc

数据结构实验报告-答案 数据结构(C语言版)实验报告专业班级学号姓名实验1实验题目:单链表的插入和删除实验目的:了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求:建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤:1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测试程序的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序:(1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码:#include“stdio.h“#include“string.h“#include“stdlib.h“#include“ctype. h“typedefstructnode//定义结点{chardata[10];//结点的数据域为字符串structnode*next;//结点的指针域}ListNode;typedefListNode*LinkList;//自定义LinkList单链表类型LinkListCreatListR1();//函数,用尾插入法建立带头结点的单链表LinkListCreatList(void);//函数,用头插入法建立带头结点的单链表ListNode*LocateNode();//函数,按值查找结点voidDeleteList();//函数,删除指定值的结点voidprintlist();//函数,打印链表中的所有值voidDeleteAll();//函数,删除所有结点,释放内存

安徽工业大学——java实验报告

Java实验报告 学号149074353 姓名程裕博 班级物141 指导教师柯栋梁 安徽工业大学计算机学院2016年11月

实验一: 利用JAVA 反射技术分析类结构 自己定义的类: package chap05; public class analysis { private int a; private char c; protected int b; public double d; public void test1() { } private void test2() { } protected double test3() { return 1.0; } } 用java反射技术分析输出的结果: Enter class name (e.g. java.util.Date): chap05.analysis class chap05.analysis { public chap05.analysis(); public void test1(); private void test2(); protected double test3(); private int a; private char c; protected int b; public double d; } 1.分析程序运行时的输出结果。 输出的结果中显示了被分析类的方法与变量,包括这些方法与变量的

修饰符 2.分析与JAVA反射技术相关的几个类的作用: https://www.doczj.com/doc/7418703.html,ng.reflect.Constructor; Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。 https://www.doczj.com/doc/7418703.html,ng.reflect.Field; Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)字段或实例字段。 https://www.doczj.com/doc/7418703.html,ng.reflect.Method; Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。https://www.doczj.com/doc/7418703.html,ng.reflect.Modifier; Modifier 类提供了static 方法和常量,对类和成员访问修饰符进行解码。修饰符集被表示为整数,用不同的位位置(bit position) 表示不同的修饰符。 实验二:利用JAVA 反射技术分析对象结构 实验内容:运行示例程序,分析Integer 数组对象的结构;改写程序分析一下自定义 的类对象,如Employee 类。

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

数据库概论课程设计安徽工业大学戴小平

《数据库系统概论》课程设计 2017年 06月03 日 安徽工业大学计算机学院 姓 名 李根 专 业 计算机科学与技术 班 级 计141 学 号 149074007 指导教师 戴小平

摘要 随着计算机科学技术的日益发展及信息化技术向各个领域的不断深入,人们的学习生活已越来越趋向于信息化。为跟上时代的要求及人们生活的步伐,药店管理系统随运而生。它的发展不仅给人们带来了很大的便利性,还在很大程度上减轻了其管理人员的工作压力,基于这一事实开发本系统。 本系统主要要实现的是药店管理系统进行药品的管理。本系统的主要功能包括:用户操作和管理员操作。用户操作包括:用户登录,用户注册,用户购买药品,查看药品基本信息等功能。管理员操作包括:管理员登录,添加药品至仓库,修改药品信息,查看入库信息,出库信息,库存信息,以及从仓库出库至药店等功能。 本系统是利用Microsoft Visual Studio 2017开发工具、C#语言和Microsoft SQL Serve数据库来开发的。 关键词:药店;仓库;管理系统;

目录 1绪论 (3) 1.1 概述 (3) 1.1.1 问题的提出 (3) 1.1.2 本课题的意义 (3) 1.2 开发环境与工具介绍 (3) 1.2.1 Microsoft Visual Studio简介 (3) 1.2.2 C# 简介 (3) 1.2.3 Microsoft SQL Server简介 (4) 2 系统需求分析与设计 (4) 2.1 用户需求分析 (4) 2.1.1 用户需求 (4) 2.1.3 系统性能需求 (4) 2.1.4数据分析 (4) 2.2 功能模块图及分模块功能描述 (5) 2.2.1 系统的功能模块图 (5) 2.2.2 系统功能模块简介 (5) 2.3 数据库设计 (5) 2.3.1 系统E-R图 (5) 2.3.2 数据库逻辑结构设计 (6) 3 系统实施 (8) 3.1 建立数据库 (8) 3.2 数据库连接 (10) 3.3 主要模块实施 (10) 3.3.1 登录模块的开发 (10) 3.3.2 管理员主界面 (11) 3.3.3 用户主界面开发 (12) 3.4 系统测试 (12) 3.4.1 软件测试的对象 (12) 4 系统说明 (15) 4.1 开发环境 (15) 4.2 系统安装、配置与发布应用程序的步骤 (15) 总结 (16) 参考文献 (16) 附录:部分源代码 (16) 登录主界面源代码: (16) 用户注册界面代码: (18) 管理员主界面: (20) 购买药品代码: (23) 插入药品信息代码: (26)

相关主题
文本预览
相关文档 最新文档