软件技术基础实验报告模板
软件技术基础实验指导及报告
太原理工大学现代科技学院软件技术基础课程实验报告专业班级通信14-1学号2014101596姓名王晓振指导教师范俊杰软件技术基础实验指导及报告实验说明:1、共5次实验,每次实验完成1个内容。
2、实验报告命名统一为:软件_专业班级_学号_姓名3、自备U盘,在实验前认真阅读实验要求,在实验中及时记录保存实验结果和调试过程,并填写到实验报告对应位置,实验结束后将该实验报告电子版在指定时间内提交给各班学习委员。
实验一顺序线性表的插入与删除1、实验目的:理解和掌握线性表的顺序存储结构,使用C语言根据相应算法编写程序,实现线性表的创建、插入和删除。
2、实验内容:编写C程序实现先建立一个长度不小于n = 8的线性表,输出原始线性表;然后进行插入运算,在第3个元素前面插入一个新元素b(值为学号后3位),得到一个长度为(n+1)的线性表,输出插入后的线性表;最后进行删除运算,删除第5个元素,得到长度为n的线性表,输出删除后的线性表。
3、参考程序:#include <stdio.h>#define MAXSIZE 20typedef struct{int data[MAXSIZE];int last;}List;void Init(List *pt){int i = 0;for(i=1;i<11;i++){pt->data[i] = i;pt->last = i;}}void Output(List *pt){int i,max=pt->last;printf("List have %d: \n",pt->last);for(i=1;i<=max;i++)printf("List %d Value is:%d \n",i,pt->data[i]);printf("\n");}void InsertL(List *pt, int i, int x){int k;if(i<1 || i>MAXSIZE-1){printf("插入位置不合适!\n");}else if(pt->last>=MAXSIZE-1){printf("线性表已满!\n");}else{for (k=pt->last;k>=i;k--)pt->data[k+1]=pt->data[k];pt->data[i]=x;pt->last++;}}void Insert(List *pt){int position,x;printf("please input insert position and value:");scanf("%d,%d",&position,&x);InsertL(pt, position, x);}void DeleteL(List *pt, int i){int k;if(i<1 || i>pt->last){printf("删除位置不合适!\n");}else{for(k=i+1;k<=pt->last;k++)pt->data[k-1]=pt->data[k];pt->last--;}}void Delete(List *pt){int position;printf("please input delete position:");scanf("%d",&position);DeleteL(pt, position);}int main(){int int_Insert,int_Delete;List L,*pt;pt = &L;Init(pt);Output(pt);Insert(pt);Output(pt);Delete(pt);Output(pt);return 0;}4、实验结果:将程序运行结果截屏粘贴至此处。
重庆邮电大学-软件技术基础--实验报告(耿道渠)
《软件技术基础》实验报告实验名称:顺序表的操作班级学号姓名第9 周星期 2 、5,6 节成绩一、实验目的:1、掌握顺序表结构的实现方式;2、掌握顺序表常用算法的实现;3、熟悉利用顺序表解决问题的一般思路;4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。
二、实验内容:1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。
(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。
(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。
2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。
要求实现菜单、初始化、添加、删除和显示等功能。
三、实验结果:四、实验中遇到的问题及解决方法:第一次编写C++,感觉力不从心,回去多看看PPT。
五、实验心得体会:对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习附:源程序(自行编写或修改的程序。
若为修改程序请注明修改部分的功能,若为书上实例则可不附。
)#include <iostream>#include <string>#include <stdlib.h>#include <iomanip>#define MAXSIZE 20using namespace std;int num;typedef struct{string student_number;string name;string tel;string home_phone;int id;} TEL;void shuaxin(TEL *);void delet(TEL *);void find(TEL *);void show(TEL *);int main(void){int choose;TEL List[MAXSIZE];while(1){cout << "***************************欢迎来到XXX电话本系统*********************" << endl;cout << "1.初始化并建立" <<endl;cout << "2.删除" <<endl;cout << "3.查找" <<endl;cout << "4.显示全部" << endl <<endl;cin >> choose;system("cls");while( choose < 1 || choose > 4){cout << "输入错误,数字1-4,请重新输入!" << endl;cin >> choose;system("cls");}switch(choose){case 1: shuaxin(List); break;case 2: delet(List); break;case 3: find(List); break;case 4: show(List); break;}//system("cls");}return 0;}void shuaxin(TEL * list){int i,j;for(i = 0; i < MAXSIZE; i++){list[i].id = i + 1;list[i].home_phone = "none";list[i].name = "none";list[i].student_number = "none";list[i].tel = "none";system("cls");cout << "初始化成功,现在开始建表:" << endl;cout << "请输入需要建立的电话个数:(小于" << MAXSIZE << ")"<<endl;cin >> num;while( num < 1 || num > MAXSIZE ){system("cls");cout << "输入错误,请重新输入" << endl;cin >> num;}system("cls");cout << "请依次输入学生的学号,姓名,移动电话,家庭电话" << endl;for(j = 1; j <= num; j++){cout << j << '.';cin >> list[j - 1].student_number;cin >> list[j - 1].name;cin >> list[j - 1].tel;cin >> list[j - 1].home_phone;cout << endl;if(num == (j - 1) ){system("cls");cout << "建立表完毕!" << endl;}}void delet(TEL * list){int j,i = 0;cout << "请输入你需要删除的序号" << endl;cin >> j;while( j < 0 || j > num){cout << "输入错误,请重新输入" << endl;cin >> j;}while(list[i].id != j)i++;for(j = i; j < num - 1; j++){list[j].name = list[j + 1].name;list[j].tel = list[j + 1].tel;list[j].student_number = list[j + 1].student_number;list[j].home_phone = list[j + 1].home_phone;}list[j].home_phone = "none";list[j].name = "none";list[j].student_number = "none";list[j].tel = "none";num--;system("cls");cout << "删除完毕" << endl;}void find(TEL * list){string telnum;int i,key = 0;cout << "请输入你需要查找的电话号码" << endl;cin >> telnum;system("cls");for(i = 0; i < MAXSIZE; i++){if(telnum == list[i].tel || telnum == list[i].home_phone){if(key == 0)cout << "依次学号姓名移动电话家庭电话" << endl;cout << list[i].id << '.';cout << setw(12) << list[i].student_number;cout << setw(10) << list[i].name;cout << setw(14) << list[i].tel;cout << setw(10) << list[i].home_phone;cout << endl;key = 1;}}if( key == 0)cout << "未找到此电话号码" << endl;}void show(TEL * list){int i;cout << "现在有" << num << "个电话号码" << endl;cout << "依次学号姓名移动电话家庭电话" << endl;for(i = 0; i < num; i++){cout << list[i].id << '.';cout << setw(12) << list[i].student_number;cout << setw(10) << list[i].name;cout << setw(14) << list[i].tel;cout << setw(10) << list[i].home_phone;cout << endl;}cout << "输出完毕" << endl;}《软件技术基础》实验报告实验名称:链表的操作(一)班级学号姓名第10 周星期 2 、5,6 节成绩一、实验目的:1、掌握单链表结构的实现方式;2、掌握单链表常用算法的实现。
软件技术大学实习报告模板5篇
软件技术大学实习报告模板5篇软件技术大学实习报告(篇1)1、实习名称数据库开发2、实习目的通过在技术开发部门的学习了解公司主要开展的业务情况,了解工作流程。
毕业实习是教学过程中一个重要的实践性教学环节,是一次综合性实习。
通过实习加深对专业理论知识的理解,培养和提高实践操作问题、分析问题、解决问题的能力,使综合运用所学理论知识与编程实践紧密结合,为毕业后从事计算机工作打下良好的基础。
实习要达到以下目标:①在实习过程中了解自己的主要工作职责和任务,学会以各种方式学习,提高岗位的适应能力和综合素质。
②将在校所学的知识运用到实践岗位中,提高观察问题、发现问题、分析问题、解决问题的能力,提高计算机专业水平。
③在规范有序的实际工作中培养吃苦耐劳、努力钻研的精神。
3、实习内容负责软件系统的模块设计、编码、调试工作,参与软件测试的需求分析、功能模块确认,熟练掌握delphi、myeclipse、oracle数据库等开发工具,尤其是熟悉短信、彩信的业务机制和各种网关。
4、实习时间2月21日—6月21日5、实习地点市区大道号6、实习单位和部门公司技术开发部7、前言随着计算机技术的发展,在internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
因此通信行业在internet应用上的地位显而易见,它已成为各政府机关、企业单位、事业单位信息化建设中的重要组成部分,从而倍受人们的关注,尤其是中国移动所做的服务,给我们在信息的交流和传递的过程中起到了很大的帮助作用。
计算机将具备更多的智能成分,它将具有多种感知能力、一定的思考与判断能力及一定的自然语言能力。
除了提供自然的输入手段外,让人能产生身临其境感觉的各种交互设备也已经出现,移动的终端设备技术是这一领域发展的集中体现。
今天人们谈到计算机必然地和网络联系起来,一方面孤立的未加入网络的计算机越来越难以见到,另一方面计算机的概念也被网络所扩展。
软件技术基础标准实验报告01
电子科技大学
实验报告
学生姓名:学号:指导教师:
实验地点:实验时间:
一、实验室名称:校公共机房
二、实验项目名称:顺序表程序设计
三、实验学时:4学时
四、实验原理:
使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。
通过上机练习掌握在C编译器中编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的:
掌握顺序表的定义和基础操作,包括建立,插入和删除。
六、实验内容:
上机完成以下实验要求的全部函数,调试运行程序并完成报告。
七、实验器材(设备、元器件):
硬件要求:普通pc机,1G内存,100G硬盘空间即可。
软件要求:Windows 7,包括C编译器的IDE。
八、实验步骤、实验编程与运行结果:
1.源代码清单如下:
典型测试数据(输入):
应输出(上机前自己分析的结果):
上机时遇到的问题:
实际运行结果:
九、实验结论:
十、总结及心得体会:
十一、对本实验过程及方法、手段的改进建议:
报告评分:
指导教师签字:。
计算机软件技术基础实验报告
《计算机软件技术基础》实验报告专业_____________年级_____________学号_____________学生姓名_____________指导老师_____________南华大学计算机学院编I 实验要求1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。
2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。
3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。
4.上机结束后,应整理出实验报告。
书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。
实验一线性表【实验目的】1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。
2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。
3.熟练掌握线性表的综合应用问题。
【实验内容】必做:1.一个线性表有n个元素(n<MAXSIZE, MAXSIZE指线性表的最大长度),且递增有序。
(1)现有一元素x要插入到线性表的适当位置上,并保持线性表原有的顺序不变。
采用链式存储表示方法实现,设计程序实现(2)从单链表中删除指定的元素x,若x在单链表中不存在,给出提示信息。
要求:①指定的值x由键盘输入;②程序能处理空链表的情况。
选做:3.设有头结点的单链表,编程对表中的作一值只保留一个结点,删除其余值相同的结点。
要求:①该算法用函数(非主函数)实现;②在主函数中调用创建链表的函数创建一个单链表,并调用该函数,验证算法的正确性。
4.已知非空单链表第一个结点由head指出,请写一算法,交换p所指结点与其下一个结点在链表中的位置。
要求:①该算法用函数Reverse(head,p)实现,其中head为表头指针,p指向要交换的结点;②在主函数中调用创建链表的函数创建一个单链表,并调用该函数,验证算法的正确性。
软件技术基础实验报告模板
院系:计算机科学学院
专业:自动化
年级:2010级
课程名称:软件技术基础实验
学号:10064046
姓名:李明赴
指导教师:杜小坤老师
2011年11月11日
年级
2010级
班号
自动化2班
学号
10064046
专业
自动化
姓名
李明赴
实验名称
单链表的相关操作
实验
类型
(
可
选
)
实
验
结
果
分
析
及
心
得
体
会
成
绩
评
定
教师签名:
2010年月日
备注:源代码附后,源代码要求有注释说明
年级
2010级
班号
自动化2班
学号
10064046
专业
自动化
姓名
李明赴
实验名称
二叉树基本操作
实验
类型
设计型
综合型
创新型
实
验
目
的
或
要
求
实验目的:1.掌握二叉树的二叉链表存储结构。2.掌握利用二叉树创建方法。3掌握二叉树的先序,中序,后序的递归实现方法。
设计型
综合型
创新型
实
验
目
的
或
要
求
实验目的:1.掌握链表的概念。2.熟练掌握线性表的链式存储结构。3.熟练掌握线性表在链式储存结构上的运算。
实验要求:1.完成链表存储结构的类型设计。2.完成链表带头结点尾插入法函数。3.完成按序号查找函数。4.编写主函数完成实验内容的要求。
仿真软件操作实验报告(3篇)
第1篇实验名称:仿真软件操作实验实验目的:1. 熟悉仿真软件的基本操作和界面布局。
2. 掌握仿真软件的基本功能,如建模、仿真、分析等。
3. 学会使用仿真软件解决实际问题。
实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 仿真软件:XXX2. 计算机一台3. 实验指导书实验内容:一、仿真软件基本操作1. 打开软件,熟悉界面布局。
2. 学习软件菜单栏、工具栏、状态栏等各个部分的功能。
3. 掌握文件操作,如新建、打开、保存、关闭等。
4. 熟悉软件的基本参数设置。
二、建模操作1. 学习如何创建仿真模型,包括实体、连接器、传感器等。
2. 掌握模型的修改、删除、复制等操作。
3. 学会使用软件提供的建模工具,如拉伸、旋转、镜像等。
三、仿真操作1. 设置仿真参数,如时间、步长、迭代次数等。
2. 学习如何进行仿真,包括启动、暂停、继续、终止等操作。
3. 观察仿真结果,包括数据、曲线、图表等。
四、分析操作1. 学习如何对仿真结果进行分析,包括数据统计、曲线拟合、图表绘制等。
2. 掌握仿真软件提供的分析工具,如方差分析、回归分析等。
3. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
实验步骤:1. 打开仿真软件,创建一个新项目。
2. 在建模界面,根据实验需求创建仿真模型。
3. 设置仿真参数,启动仿真。
4. 观察仿真结果,进行数据分析。
5. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
6. 完成实验报告。
实验结果与分析:1. 通过本次实验,掌握了仿真软件的基本操作,包括建模、仿真、分析等。
2. 在建模过程中,学会了创建实体、连接器、传感器等,并能够进行模型的修改、删除、复制等操作。
3. 在仿真过程中,成功设置了仿真参数,启动了仿真,并观察到了仿真结果。
4. 在分析过程中,运用了仿真软件提供的分析工具,对仿真结果进行了数据分析,并与实际数据或理论进行了对比,验证了仿真模型的准确性。
软件基础实验报告
软件基础实验报告————————————————————————————————作者:————————————————————————————————日期:计算机软件技术基础实验报告姓名:XXX班级:XX 0X01学号:30X05050XX实验一线性表:1、建立单向链表,表长任意;2、可交互输出单链表中的内容;3、编写算法计算出自己所建单链表的长度并输出;4、删除自己所建单链表中的第K个结点,并将剩余结点输出;5、将单链表倒排,输出结果。
源程序如下:#include<stdio.h>#include<malloc.h>typedef int datatype;typedefstruct node//链表结构体//{datatypedata;structnode*next;}linklist;linklist*creatlist() //建立链表//{intx;linklist*head, *s;head=NULL;printf("\n 输入链表数据:");scanf("%d",&x);while(x!=0){s=malloc(sizeof(linklist)); //为链表开辟一系列的空间//s->data=x;s->next=head;head=s;printf("\n输入链表数据:");scanf("%d",&x);}returnhead;}void listContent(linklist*h)//输出链表内容//{linklist *s;s=h;while(s!=NULL){printf("%4d",s->data);s=s->next;}}intlistLong(linklist*h)//计算链表长度// {inti=0;linklist *s;s=h;while(s!=NULL){i++;s=s->next;}return(i);}voidDeleteNode(linklist *h,intk)//删除第K个节点// {int i=0;linklist*p,*q;p=h;if(k==1){h=h->next;free(p);}else{while(i<k-1&&p!=NULL){i++;q=p;p=p->next;}q->next=p->next;free(p);}}linklist *DaoXu(linklist *h)//逆序排列链表//{linklist *r,*q,*p;r=h;p=r->next;q=p->next;if(h==NULL)printf("链表为空\n");while(q!=NULL&&h!=NULL){p->next=r;r=p;p=q;q=q->next;}h->next=NULL;p->next=r;return(p);}main(){intk,x;linklist*h;do{printf("\n功能:\n");printf("1.建立链表\n");printf("2.输出链表内容;\n");printf("3.获得链表长度\n");printf("4.删除第K个节点\n");printf("5.将链表倒序输出\n");printf("6.退出\n");printf("请输入功能号:\n");scanf("%d",&x);if(x<1||x>6)printf("错误!\n");elseswitch(x){case1:h=creatlist();break;case2:listLong(h);break;case 3:printf("链表的长度是:%d",listLong(h));break;case 4:printf("请输入要删除的节点:\n");ﻩscanf("%d",&k);ﻩDeleteNode(h,k);listContent(h);break;case5:h=DaoXu(h);listContent(h);break;case 6:exit(0);break;}}while(1);}运行结果:实验总结:1.在编写倒排链表的程序时,对于循环的计数的控制没有搞好,以致无法得到想要的链表;2.要给一个指针创立空间之后才能调用它,否则会出错。
杭电软件技术基础实验报告
《软件技术基础》上机实验报告2018至2019学年,第1学期学生姓名:***班级:***学号:***授课教师:***指导教师:***报告完成时间:2018年12月9日实验一:链式二叉排序树的创建和遍历一.实验目的和要求1.加深理解数据结构的目的和概念,以及逻辑结构和物理结构的关系;2.练习数据结构操作算法的编程实现;3.练习链表的程序设计,掌握二叉链表的设计技术;4.练习递归函数的设计方法;5.巩固二叉排序树的概念;6.熟悉软件功能的分析设计方法。
二.功能分析与设计利用C或C++,设计程序,定义二叉链表,存储二叉排序树,声明并定义相应的函数,实现链式二叉排序树的下列操作:1. 输入数据个数DataCount(要求在10和20之间)和数据最大值MaxData(在50和100之间)。
算法实现:该任务需要限制输入的DataCount在10和20之间,MaxData在50和100之间,只有当两者均满足要求时,程序才会向下执行。
若不满足时,会提示“输入不正确,请重新输入!”,并继续输入DataCount和MaxData,直至满足要求。
这里用while(1)死循环,不得到正确输入不退出。
部分代码如下:while(1){printf("请输入DataCount:");scanf("%d",&DataCount);printf("请输入Maxdata:");scanf("%d",&Maxdata);if(DataCount>=10&&DataCount<=20&&Maxdata>=50&&Maxdata<=100) break;printf("输入不正确,请重新输入! \n");fflush(stdin); //清空输入}2. 在0和MaxData之间,随机产生DataCount个不重复的整数,按产生先后顺序形成一个数据序列,并输出该序列。
设计基础软件实验报告(3篇)
第1篇一、实验目的本次实验旨在通过设计基础软件,加深对软件设计原理和方法的理解,提高软件设计实践能力。
实验要求学生掌握软件需求分析、设计模型构建、设计规范遵循等基本技能,并能够运用所学知识完成一个简单的软件设计项目。
二、实验内容1. 需求分析- 明确软件功能:设计一款用于学生课程成绩管理的软件,包括成绩录入、查询、统计、导出等功能。
- 用户分析:分析软件目标用户,如教师、学生、教务管理员等。
- 功能模块划分:将软件功能划分为成绩录入、成绩查询、成绩统计、成绩导出等模块。
2. 设计模型构建- 采用UML(统一建模语言)进行软件设计,包括用例图、类图、序列图等。
- 用例图:描述软件与用户之间的交互过程,展示软件功能。
- 类图:描述软件中的类及其关系,包括类属性和方法。
- 序列图:描述软件中对象之间的交互过程,展示对象之间的消息传递。
3. 设计规范遵循- 遵循软件设计规范,如命名规范、编码规范、注释规范等。
- 确保软件设计具有良好的可读性、可维护性和可扩展性。
4. 软件设计实现- 选择合适的编程语言和开发工具,如Java、C、Python等。
- 根据设计模型,编写软件代码,实现软件功能。
- 进行单元测试,确保代码质量。
三、实验步骤1. 需求分析- 与用户沟通,了解软件需求。
- 分析需求,确定软件功能模块。
2. 设计模型构建- 使用UML工具绘制用例图、类图、序列图。
- 确定软件设计模型。
3. 设计规范遵循- 遵循软件设计规范,编写代码。
- 对代码进行注释,提高可读性。
4. 软件设计实现- 选择编程语言和开发工具。
- 根据设计模型,编写代码。
- 进行单元测试,确保代码质量。
5. 软件测试- 设计测试用例,对软件进行测试。
- 分析测试结果,修复缺陷。
四、实验结果1. 完成软件需求分析,明确软件功能。
2. 构建软件设计模型,包括用例图、类图、序列图。
3. 遵循软件设计规范,编写代码。
4. 进行单元测试,确保代码质量。
东北大学计算机软件技术基础实验报告.pdf
计算机软件技术基础实验专业:学生姓名:[哈哈哈]学号:[哈哈哈]实验时间:[2016年8月22日]实验一:线性表的排序与查找#include<stdio.h>int aryLinearList[15];int x=0;void printout();void sort();void deleteit(int n);void insert(int n);void main(){int i,t,a;printf("请输入10个数:\n");for(i=0;i<10;i++){scanf("%d",&aryLinearList[i]);x=x+1;}printf("您的输入为:\n");printout();printf("排序后为:\n");sort();printf("请输入插入的数:\n");scanf("%d",&a);insert(a);printf("请输入要删除的数:\n");scanf("%d",&a);deleteit(a);}void sort()//冒泡法排序{int i,j,t;for(j=0;j<x-1;j++)for(i=0;i<x-1-j;i++)if(aryLinearList[i]>aryLinearList[i+1]){t=aryLinearList[i];aryLinearList[i]=aryLinearList[i+1];aryLinearList[i+1]=t;}printout();}void insert(int n)//插入并排序{aryLinearList[x]=n;x=x+1;sort();}void deleteit(int n)//删除{int i,j;for(i=0;i<x;i++)if(aryLinearList[i]==n){for(j=i;j<x;j++)aryLinearList[j]=aryLinearList[j+1];x=x-1;printout();}}void printout()//显示{int i;for(i=0;i<x;i++)printf("%d",aryLinearList[i]);printf("\n");}实验二:栈与队列的应用#include<stdio.h>#include<String.h>#include<stdlib.h>#include<math.h>#define MAX_LEN10//字符串长度#define MAX_SIZE30//栈或队最大元素个数struct QUEUE//定义队列{int nMaxSize;int nCount;int nFront;//队头int nRear;//队尾char szQueue[MAX_SIZE][MAX_LEN];};struct STACK//定义栈{int nMaxSize;int nTop;//栈顶char szStack[MAX_SIZE][MAX_LEN];};void InitQueue(QUEUE*q,int nMaxSize)//初始化队列{q->nMaxSize=nMaxSize;q->nCount=0;q->nFront=0;q->nRear=0;q->szQueue[MAX_SIZE][MAX_LEN]=0;}void InQueue(QUEUE*q,char*pItem)//入队{if(q->nCount==q->nMaxSize){printf("The Queue is full!\n");return;}strcpy(q->szQueue[q->nRear],pItem);if(q->nRear++==MAX_SIZE)q->nRear=0;q->nCount++;}void OutQueue(QUEUE*q,char*pItem)//出队{if(q->nCount==0){printf("The Queue is empty!\n");return;}strcpy(pItem,q->szQueue[q->nFront]);if(q->nFront++==MAX_SIZE)q->nFront=0;q->nCount--;}void InitStack(STACK*s,int nMaxSize)//初始化栈{s->nMaxSize=nMaxSize;s->nTop=0;s->szStack[MAX_SIZE][MAX_LEN]=0;}void PushStack(STACK*s,char*pItem)//入栈{char*p;if(s->nTop<s->nMaxSize){p=s->szStack[s->nTop];strcpy(p,pItem);s->nTop++;}else{printf("The stack overflow!\n");return;}}void PopStack(STACK*s,char*pItem)//出栈{char*p;if(s->nTop==0){printf("stack is empty!\n");return;}else{p=s->szStack[--s->nTop];strcpy(pItem,p);}}void GetTopStack(STACK*s,char*pItem)//获得栈顶运算符{char*p;char a[10]={0};if(s->nTop==0){a[0]=';';strcpy(pItem,a);}else{p=s->szStack[s->nTop-1];strcpy(pItem,p);}}int isdigit(char x)//判断字符{if(x>='0'&&x<='9')return1;return0;}int Priority(char*op)//获得操作符的优先级{int nPriority=0;switch(op[0]){case'^':nPriority=3;break;case'*':case'/':nPriority=2;break;case'+':case'-':nPriority=1;break;case';':nPriority=0;}return nPriority;}void Compute(char*num1,char*num2,char*op,char*chResult)//计算表达式的值{double fNum1,fNum2;double fResult=0;fNum1=atof(num1);fNum2=atof(num2);switch(op[0]){case'^':fResult=pow(fNum1,fNum2);break;case'*':fResult=fNum1*fNum2;break;case'/':fResult=fNum1/fNum2;break;case'+':fResult=fNum1+fNum2;break;case'-':fResult=fNum1-fNum2;break;}sprintf(chResult,"%.4f",fResult);return;}int main()//主程序{char x[MAX_LEN];//表达式char op[MAX_LEN];//栈顶运算符char num1[MAX_LEN],num2[MAX_LEN];//操作数char chResult[MAX_LEN];//运算结果struct QUEUE q1;//声明队列struct QUEUE*q;struct STACK OS;//声明OS栈和NS栈struct STACK NS;struct STACK*o;struct STACK*n;int i=0;//初始化int j=0;int k=0;q=&q1;o=&OS;n=&NS;InitStack(o,20);InitStack(n,20);InitQueue(q,20);printf("please input the expression end with\';'\n");do//输入表达式{printf("next\n");scanf("%s",x);InQueue(q,x);}while(x[0]!=';');printf("expression\n");while(true){if(q->nCount!=0){OutQueue(q,x);printf("%s",x);}if(isdigit(x[0]))//输入为数字PushStack(n,x);else//输入运算符{GetTopStack(o,op);//获得OS栈顶运算符if(x[0]==';'&&op[0]==';')//输入’;’结束表达式{printf("\n result is");break;}if(Priority(x)>Priority(op))//运算符的优先级〉栈顶运算符{PushStack(o,x);continue;}while((Priority(x)<=Priority(op))&&Priority(op))//运算符优先级<=栈顶运算符{PopStack(n,num1);PopStack(n,num2);PopStack(o,op);Compute(num2,num1,op,chResult);PushStack(n,chResult);GetTopStack(o,op);}PushStack(o,x);}}PopStack(n,chResult);printf("%s\n",chResult);return0;}实验三:关系数据语言的应用create table Stu(Sno char(4)primary key,Sname char(15),Sex char(2),Age numeric,Birthday datetime,Class char(10));create table Course(Cno char(2)primary key,Cname char(20),Chour numeric);create table Score(sno char(4),cno char(2),primary key(sno,cno),grade numeric);insert into Stuvalues('0101','zhangqiang','m','20','1994-02-20','zi1');insert into Stu values('0102','lihong','f','20','1994-08-10','zi1'); insert into Stu values('0103','wangtao','m','21','1993-05-18','zi1'); insert into Stu values('0104','liuli','f','19','1995-03-05','zi2'); insert into Stu values('0105','sundong','m','21','1993-12-17','zi2'); insert into Stu values('0106','wangping','m','22','1992-11-30','zi2'); insert into Stuvalues('0201','ouyangyan','f','20','1994-04-11','dian1');insert into Stuvalues('0202','yangrui','m','20','1994-05-13','dian1');insert into Stu values('0203','liuyan','f','18','1996-01-21','dian1'); insert into Stu values('0204','zhouyu','m','20','1994-07-10','dian1'); select*from stu;insert into course values('01','jisuanji','48'); insert into course values('02','java','32'); select*from course;insert into score values('0101','01','87'); insert into score values('0102','01','90'); insert into score values('0103','01','79'); insert into score values('0104','01','89'); insert into score values('0105','01','58'); insert into score values('0106','01','77'); insert into score values('0201','01','95'); insert into score values('0202','01','80'); insert into score values('0203','01','76'); insert into score values('0204','01','70'); insert into score values('0101','02','91'); insert into score values('0102','02','88'); insert into score values('0103','02','75'); insert into score values('0104','02','91'); insert into score values('0105','02','76'); insert into score values('0106','02','76'); insert into score values('0201','02','90'); insert into score values('0202','02','84'); insert into score values('0203','02','83'); insert into score values('0204','02','57'); select*from score;1.查询学生出生日期(Sno,Sname,BirthDay);Select sno,sname,birthDay from stu;2.按学号顺序查询自动化02班的所有学生(Class,Sname);Select Class,Sname from Stu where class='zi2'order by Sno;3.列出学生选择各门课程的成绩(Sname,Cname,Grade);Select Sname,Cname,Grade from Stu,Course,Score where Stu.Sno=Score.Sno and o=o;4.列出有过不及格成绩的学生名单(Sno,Sname,Class);Select distinct Stu.Sno,Sname,Class from Stu,Score whereStu.Sno=Score.Sno and Grade<60;5.求学生的平均成绩和总成绩(Sname,PJCJ,ZCJ);Select Sname,avg(Grade)PJCJ,sum(Grade)ZCJ from Stu,Score where Score.Sno=Stu.Sno group by Stu.Sname;6查找各科成绩都>=85分的学生(Sname,Class);Select Sname,Class from Stu where exists(Select*from Score where Stu.Sno=Score.Sno and o='01'and Score.Grade>=85)and exists(Select*from Score where Stu.Sno=Score.Sno and o='02' and Score.Grade>=85);7将课程号为“01”的课程名称修改为“软件技术”;Update Course set Cname='RuanJianJiShu'where Cno='01';select*from course;8修改一名学生的姓名、性别、年龄;Update Stu set Sname='gaoyu',Sex='f',age='20'where Sno='0204'; select*from stu;9将成绩为55~59分的男生的成绩修改为60分;Update Score set Grade=60where Sno in(Select Sno from Stu where Sex='m') and Grade between55and59;select*from score;ÎÒÈ¥10删除年龄不是20的学生的所有信息(包括选课和成绩);Delete Stu where Sno in(select Sno from Stu where age<'20'or age>'20');Select Sname,Cname,Grade,Age from Stu,Course,Score where;Stu.Sno=Score.Sno and o=o Array11删除一个班级的所有学生;Delete from Stu where Class='dian1';select*from stu;12删除所有数据表和数据库Drop database MyDB;。
软件技术实训报告(共6篇)
软件技术实训报告(共6篇)实训题目:邮件服务器的收发系统系别:专业:学号:姓名:指导教师:提交日期: 010 年月日一、实训题目用SMTP和POP3协议实现邮件服务器的收发系统二、实训目的实训是学生接触社会实际,提高综合职业素质,增强分析问题和解决问题能力的重要教学环节,也是培养人才的重要途径,通过实训巩固和加深课堂所学知识,学习掌握企业级开发的流程与具体操作方法;通过实训,培养“团队”精神和“开拓创新”能力,大力提倡和鼓励在开发过程中使用新方法、新技术,开拓思路,设计新算法、新创意,培养创造性的程序设计能力和锐意创新进取的精神;配合毕业论文写作,开展调查研究,培养面对现实问题的正确态度和独立地分析解决问题的能力;树立新的发展起点和目标,通过实训,认识社会的需要,发现自身差距,培养良好的职业精神,适应毕业后实际工作的要求,为我们以后进一步走向社会打下了坚实的基础。
三、实训时间四、实训地点五、实训部门或岗位实习生六、实训内容和过程6.1实训内容6.1.1协议的了解SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。
通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。
SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
POP3即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。
它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
POP3协议是TCP/IP协议族中的一员,,由RFC 193定义。
软件技术基础实验报告1
实验题目:软件技术基础实验实验一顺序表和单链表基本操作上机实验Part A一、需求分析1.程序要实现的基本功能顺序表的创建、元素删除、遍历等操作2.输入输出的要求有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作A.初始化一个空的顺序表;B.从键盘依次输入上述数据添加到顺序表中;C.删除表中的第四个数据元素;D.显示B、C操作后顺序表中的内容。
二、概要设计1.本程序所用的数据结构数组和结构体2.主程序及各函数子模块之间的层次关系3.主程序及各模块的流程图三、详细设计1.采用c语言定义相关的数据类型typedef struct,int2.源程序见附录四、结果测试1.输入数据{1,2,3,4,6}2.输出结果验证Part B一、需求分析1.程序要实现的基本功能单链表的初始化、生成、长度统计、查找、删除等操作2.输入输出的要求现有有序的一组整数{1,2,2,3,4,6,6},设计单链表,分别编写函数实现以下操作:A.初始化一个空链表;B.依次添加上述一组数据(结点),生成该链表;C.统计该链表的长度;D.在表中查找数据为3和7的结点,并返回其位置(若找不到返回-1);E.删除相邻的重复结点,使链表变为1-2-3-4-6。
主程序及各模块的流程图;F.显示经B、E操作后,链表的内容。
概要设计1.本程序所用的数据结构结构体、指针2.主程序及各函数子模块之间的层次关系3.主程序及各模块的流程图三、详细设计1.采用c语言定义相关的数据类型typedef struct node,int,int*2.源程序见附录四、结果测试1.输入数据{1,2,2,3,4,6,6}2.输出结果验证查找数据元素3查找数据元素7实验二:基本查找排序操作上机实验一、需求分析1.程序要实现的基本功能两种基本的查找算法(顺序查找、二分查找)和三种基本排序算法(简单插入排序、简单冒泡排序、简单选择排序)2.输入输出的要求现有一顺序表,表中元素分别为{51,38,79,22,91,105,33,52,16,112},分别编写函数实现以下操作:A、采用简单插入排序法实现对顺序表的排序,显示每一趟的排序结果;B、采用简单冒泡排序法实现对顺序表的排序,显示每一趟的排序结果;C、采用简单选择排序法实现对顺序表的排序,显示每一趟的排序结果;D、对上述排序后的顺序表采用顺序查找方法,查找关键字为52和关键字为36的元素,分别显示查找结果;E、对上述排序后的顺序表采用二分查找方法,查找关键字为22的元素,显示查找结果。
电子科技大学软件技术基础实验报告5
电子科技大学通信与信息工程学院标准实验报告(实验)课程名称软件技术基础实验电子科技大学教务处制表电子科技大学实验报告一、实验室名称:校公共机房二、实验项目名称:查找与排序三、实验学时:4学时四、实验原理:使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。
通过上机练习掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等方法、过程和实际应用。
五、实验目的:1.熟练掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等算法方法并实现。
2.掌握课程平台使用方法。
六、实验内容:ex5_1:查找设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。
//第一题#include <stdio.h>#define maxnum 20typedef struct{int data[maxnum];int length;}list_type;void create(list_type *l){l->length=8;l->data[0]=3;l->data[1]=10;l->data[2]=13;l->data[3]=17;l->data[4]=40;l->data[5]=43;l->data[6]=50;l->data[7]=70;}void shunxucz(list_type *l,int a1,int a2){int i,flag=0;printf("-----------------------------------------------\n");printf("顺序查找法:\n");for(i=0;i<l->length;i++){if(a1==l->data[i]){printf("%d是第%d个元素\n",a1,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a1);flag=0;for(i=0;i<l->length;i++){if(a2==l->data[i]){printf("%d是第%d个元素\n",a2,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a2);}void erfencz(list_type *l,int a1,int a2){printf("-----------------------------------------------\n");printf("二分查找法:\n");int low,h,m,flag=0,i;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a1){printf("%d是第%d个元素\n",a1,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a1);flag=0;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a2){printf("%d是第%d个元素\n",a2,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a2);}int main(){int flag1=43,flag2=5;list_type list,list1,list2;create(&list);create(&list1);create(&list2);shunxucz(&list1,flag1,flag2);erfencz(&list1,flag1,flag2);printf("-----------------------------------------------\n");}ex5_2:排序1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)编写快速排序函数5)在主程序中输入一组数据元素(513,87,512,61,908,170,897,275,653,462),分别调用4种排序函数,输出每趟排序结果。
计算机软件技术基础实验报告
“开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开之后出现如图1所示窗口。
图1点击“添加”按钮,出现图2。
图2选择SQL Server,点击“完成”,出现图3。
图3名称中填写所创建的数据源的名称,本例中为student,描述可以不填。
因为SQL Server的服务器和客户端均安装在本地计算机上,所以服务器为(local)。
如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。
点击“下一步”,出现图4。
图4SQL Server如何验证ID的真伪,使用哪种方法要看安装SQL Server2000时选择的是哪种验证方式。
如果是Windows验证,选择使用网络登录ID的WindowsNT验证;如果是混合验证模式则要选择下面一种。
本例中采用Windows验证。
进入数据库无需另外的用户名和密码。
点击“下一步”,出现图5。
图5这里要更改默认的数据库,默认情况下数据源所连接的数据库为master,这里要改为student数据库。
点击“下一步”,出现图6。
图6这里无需修改,点击“完成”出现图7。
图7点击“测试数据源”,如果测试成功说明数据源已成功创建。
(3)创建VC应用程序。
打开VC++6.0,新建工程,如图8所示。
选择MFC AppWizard(exe),工程名为exec1,存放在D盘实验文件夹里。
图8点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图9。
图9这里选择“查看数据库不使用文件支持”,还要选择数据源,点击“数据源…”,弹出如图10所示窗口。
图10选择“student”数据源,点击“OK”,在弹出的窗口中选择表dbo.s,点击“OK”返回图9所示的界面。
以后的创建步骤中没有需要修改的地方可以直接点击完成。
这样工程exec1就创建完成了,并且通过数据源与数据库发生了关联。
创建好的工程可以运行,结果如图11所示。
图11(4)界面设计在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC1_FORM,打开该对话框。
软件技术基础综合实验报告
实验3 使用 Select 语句进行数据查询一、实验目的1.观察查询结果, 体会 SELECT 语句实际应用;2.要求学生能够在查询分析器中使用 SELECT 语句进行简单查询;3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法;4. 加深对 SQL 语言的嵌套查询语句的理解;5. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
二、实验准备1. 完成实验二,成功建立了基本表;2. 了解简单 SELECT 语句的用法;3. 了解 SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用;4. 了解统计函数和分组统计函数的使用方法。
三、实验要求完成实验,并验收实验结果提交实验报告。
四、实验内容写出相应的语句。
所有的查询全部用 Transact-SQL 语句实现。
1.查询学生的所有信息。
2.查询所有姓‘张’的学生的信息。
3.查询所有姓张的学生的信息,在列标题之间显示3行。
4.查询编号“00000001”的姓名信息。
5.查询表“Course”所有信息。
6.查询学生信息前6条记录。
7.将“Course”表中字段名做以下修改:'课程编码'替换CouNo‘课程名称'替换CouName'教师'替换Teacher‘上课时间'替换SchoolTime'限制选课人数'替换LimitNum‘报名人数'替换WIllNum。
8.查询《Linux操作系统》课程教师信息。
9.查询“Course”表,平均报名人数。
10.查询“Course”表,报名人数与限选人数之比。
11.查询编号'004','007','013'课程名称。
12.查询所有含字母‘D’的课程名程信息。
13.查询所有含‘制作’的课程名称信息。
14.查询所有名字含“宝”的学生信息。
15.查询排除“刘”姓的所有学生信息。
实验报告 (1)c语言
main()
{
int a,b;
float x,y;
char c1,c2;
scanf(“a=%d,b=%d”,&a,&b);
scanf(“%f, %e”,&x,&y);
scanf(“%c %c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);
【作业】
1.参照例题,编写一个C程序,输出以下信息:
****************************
Hello,World!
***************************
2.编写一个C程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。
(二)C语言的基础知识
scanf("%c",&c);//以字符的形式输入数字就是输入数字字符
a=c-'0';//将数字字符转换为数字或者a=c-48;
printf("a=%d",a);
}
数字和数字字符这是两个不同的概念,如:数字0和数字字符‘0’是不同的,因为他们的ASIIC码值不一样。
(三)一维数组
【目的与要求】
1.掌握一维数组的定义、赋值和输入输出的方法;
printf("Everyone has been waiting for.\n");
}
【例2】输入并运行程序,写出运行结果。
main()
{
int a,b,sum;
a=123;b=456;
计算机软件技术基础实验报告
计算机软件实验报告姓名:班级:学号:指导教师:实验一线性表的基本操作一、实验目的与基本要求1.掌握数据结构中的一些基本概念。
数据、数据项、数据元素、数据类型和数据结构,以及它们之间的关系。
2.了解数据的逻辑结构和数据的存储结构之间的区别与联系;数据的运算与数据的逻辑结构的关系。
3.掌握线性表的基本操作:插入、删除、查找以及线性表的合并等运算。
4.掌握运用C语言上机调试线性表的基本方法。
二、实验条件1.硬件:一台微机2.软件:操作系统和C语言系统三、实验方法确定存储结构后,上机调试实现线性表的基本运算。
四、实验内容1.试编写在无头结点的单链表上实现线性表基本运算LOCATE(L,X),INSERT (L,X,1)和DELETE(L,1)的算法。
2.假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作为存储结构。
编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表)结点空间存放表C。
3.将一个线性表中的值就地逆置。
4.在线性表的顺序存储结构的第一个位置上插入一个元素。
(注意区分链表和顺序表)实验代码:#include"stdlib.h"#include"stdio.h"struct node //定义结构体{int d;struct node *next;};struct node *head1,*head2,*p,*q;void pre(struct node *head) //打印数据{printf("链表中的数据为:\n");p=head;while(p!=NULL){printf("%5d",p->d);q=p;p=p->next;}printf("\n");}struct node *creat() //建立链表{struct node *head;int x;printf("输入你要储存的数据:\n");head=NULL;q=NULL;scanf("%d",&x);while(x>0){p=(struct node *)malloc(sizeof(struct node));p->d=x;p->next=NULL;if(head==NULL) head=p;else q->next=p;q=p;scanf("%d",&x);getchar();}pre(head);return (head);}void locate(struct node *head,int x) //查找链表中的数据{int u=1;p=head;while (p->next!= NULL){if (p->d==x)break;else{ p=p->next;u++;}}if(p->d!= x)printf("无此结点");printf("在链表中的位置为:");printf("%d",u);}void insert(struct node *head,int x, int i) //插入数据{ p = head;int j=1;q=(struct node *)malloc(sizeof(struct node));q->d=x;if(i==1){ q->next=head;head=q;}else{while((j<i-1)&&(p->next !=NULL)){j++;p=p->next;}q->next=p->next;p->next=q;}}void delet(struct node *head,int i) //删除数据{ p=head;int j=1;if(i<0) printf("无此位置");if(i==1){q=head; head=head->next; free(q);}else{while((j<i-1) && (p->next != NULL)){ p=p->next;j++;}q=p->next;p->next=q->next;free(q);}}void hebing(struct node *x,struct node *y) //合并两个链表{p=x;q=y;while(p->next!=NULL)p=p->next;p->next=q;pre(x);}void paixu(struct node *head) //对链表中的数据进行排序{int m,n,i=1,t;p=head;while(p->next!=NULL){p=p->next;i++;}p=head;for(n=i;n>1;n--){p=head;for(m=1;m<n;m++){q=p->next;if(p->d<q->d){t=p->d;p->d=q->d;q->d=t;}p=p->next;}}}void caozuo(struct node *head) //操作界面{int m,n;char t;printf("输入你要的操作:,查找 2,插入 3,删除\n");scanf("%c",&t);switch(t){case'1':{printf("输入你要查找的元素的值:\n");scanf("%d",&m);locate(head,m);}break;case'2':{printf("输入你要插入的元素的值和位置:\n");scanf("%d",&m);scanf("%d",&n);insert(head,m,n);pre(head);}break;case'3':{printf("输入你要删除的元素的位置:\n");scanf("%d",&m);delet(head,m);pre(head);}break;default:printf("error\n");}}void main() //主函数{char frag='y',n=NULL;printf("输入你要建立的第A链表中的元素:\n");head1=creat();printf("输入你要建立的第B链表中的元素:\n");head2=creat();do{printf("选择你要操作的链表A/B或者合并排序操作C:\n"); //选择操作scanf("%c",&n);getchar();switch(n){case'A':{caozuo(head1);}break;case'B':{caozuo(head2);}break;case'C':{hebing(head1,head2);paixu(head1);pre(head1);}break;default:printf("error\n");}printf("\n是否继续y/n:\n");scanf("%c",&frag);getchar();}while(frag=='y');}实验2 栈和队列的基本操作一、实验目的与基本要求1.掌握栈和队列的顺序存储和链式存储结构2.掌握栈和队列的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化
姓名
李明赴
实验名称
二叉树基本操作
实验
类型
设计型
综合型
创新型
实
验
目
的
或
要
求
实验目的:1.掌握二叉树的二叉链表存储结构。2.掌握利用二叉树创建方法。3掌握二叉树的先序,中序,后序的递归实现方法。
实验要求:1.编写如图所示二叉树的函数名,函数名:create。2.编写递归实现二叉树的中序,先序,后序便利算法。函数名分别为:inorder,preorder,postorder。3.编写主函数测试以上二叉树的创建和遍历函数。
实
验
原
理
(
算
法
流
程
)
组
内
分
工
(
可
选
)
实
验
结
果
分
析
及
心
得
体
会
成
绩
评
定
教师签名:
2010年月日
备注:源代码附后,源代码要求有注释说明
年级
2010级
班号
自动化2班
学号
专业
自动化
姓名
李明赴
实验名称
内部排序算法
实验
类型
设计型
综合型
创新型
实
验
目
的
或
要
求
实验目的:掌握快速排序,冒泡排序算法的实现。
实验要求:编程实现快速排序,冒泡排序各算法函数;并编写主函数对各排序函数进行测试。
实
验
原
理
(
算
法
流
程
)
组
内
分
工
(
可
选
)
实
验
结
果
分
析
及
心
得
体
会
成
绩
评
定
教师签名:
2010年月日
备注:源代码附后,源代码要求有注释说明
实验要求:1.完成链表存储结构的类型设计。2.完成链表带头结点尾插入法函数。3.完成按序号查找函数。4.编写主函数完成实验内容的要求。
实
验
原
理
(
算
法
流
程
)
组
内
分
工
(
可
选
)
实
验
结
果
分
析
及
心
得
体
会
成
绩
评
定
教师签名:
2010年月日
备注:源代码附后,源代码要求有注释说明
年级
2010级
班号
自动化2班
学号
10064046
院 系:计算机科学学院
专 业:自动化
年 级:2010级
课程名称:软件技术基础实验
学 号:
姓 名:李明赴
指导教师:杜小坤老师
2011年11 月11 日
年级
2010级
班号
自动化2班学号1来自064046专业自动化
姓名
李明赴
实验名称
单链表的相关操作
实验
类型
设计型
综合型
创新型
实
验
目
的
或
要
求
实验目的:1.掌握链表的概念。2.熟练掌握线性表的链式存储结构。3.熟练掌握线性表在链式储存结构上的运算。