重庆邮电大学-软件技术基础--实验报告(耿道渠)

合集下载

《软件技术基础》上机实验报告范文

《软件技术基础》上机实验报告范文

《软件技术根底》上机实验报告范文今天为大家收集资料回来了关于实验的范文,希望能够为大家带来帮助,希望大家会喜欢。

同时也希望给你们带来一些参考的作用,如果喜欢就我们的后续更新吧!1.顺序表的建立、插入、删除。

2.带头结点的单链表的建立(用尾插法)、插入、删除。

1.分别建立二个文件夹,取名为顺序表和单链表。

2.在这二个文件夹中,分别存放上述二个实验的相关文件。

每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。

3. 截止时间:12月28日(18周周日)晚上关机时为止,届时效劳器将关闭。

1.格式:《计算机软件技术根底》上机实验报告用户名se×××× 学号姓名学院① 实验名称:② 实验目的:③ 算法描述(可用文字描述,也可用流程图):④ 源代码:(.c的文件)⑤ 用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。

b 交互性:有输入提示。

c 构造化程序设计风格:分层缩进、隔行书写。

3. 上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。

请注意:过时不候哟!0.顺序表的插入。

1. 顺序表的删除。

2.带头结点的单链表的插入。

3. 带头结点的单链表的删除。

注意:1. 每个人只需在实验报告中完成上述4个工程中的一个,详细安排为:将自己的序号对4求余,得到的数即为应完成的工程的序号。

例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。

2. 实验报告中的源代码应是通过编译链接即可运行的。

3. 提交到个人空间中的内容应是上机实验中的全部内容。

重庆邮电大学-软件技术基础实验报告(耿道渠)

重庆邮电大学-软件技术基础实验报告(耿道渠)

重庆邮电大学-软件技术基础实验报告(耿道渠)第一篇:重庆邮电大学-软件技术基础实验报告(耿道渠)《软件技术基础》实验报告实验名称:顺序表的操作班级学号姓名第周星期2、5,6 节成绩一、实验目的:1、掌握顺序表结构的实现方式;2、掌握顺序表常用算法的实现;3、熟悉利用顺序表解决问题的一般思路;4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。

二、实验内容:1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。

(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。

(3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。

2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。

要求实现菜单、初始化、添加、删除和显示等功能。

三、实验结果:四、实验中遇到的问题及解决方法:3451].student_number;cin >> list[j1].tel;cin >> list[j61)){} system(“cls”);cout << “建立表完毕!” << endl;void delet(TEL * list){int j,i = 0;cout << “请输入你需要删除的序号” << endl;cin >> j;while(j < 0 || j > num){} while(list[i].id!= j)i++;cout << “输入错误,请重新输入” << endl;cin >> j;for(j = i;j < num789《软件技术基础》实验报告实验名称:链表的操作(一)班级学号姓名第周星期2、5,6节成绩一、实验目的:1、掌握单链表结构的实现方式;2、掌握单链表常用算法的实现。

软件基础期末实验报告

软件基础期末实验报告

一、实验名称软件基础实验二、实验目的1. 熟悉软件工程的基本概念和原则。

2. 掌握软件开发的基本流程和方法。

3. 提高编程能力和团队协作能力。

4. 通过实验加深对软件工程理论知识的理解。

三、实验内容本次实验主要涉及以下几个方面:1. 需求分析2. 系统设计3. 编码实现4. 测试与调试5. 项目文档编写四、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#五、实验步骤1. 需求分析(1)确定实验项目:设计并实现一个简单的学生管理系统。

(2)收集需求:与学生沟通,了解他们的需求,如添加、删除、修改、查询学生信息等。

(3)编写需求规格说明书:详细描述系统的功能、性能、界面等。

2. 系统设计(1)设计系统架构:采用分层架构,包括表示层、业务逻辑层和数据访问层。

(2)设计数据库:根据需求分析,设计学生信息表,包括学号、姓名、性别、年龄、班级等字段。

(3)设计界面:使用WinForms或WPF等技术设计用户界面,包括添加、删除、修改、查询等功能。

3. 编码实现(1)编写业务逻辑层代码:实现学生信息的增删改查功能。

(2)编写数据访问层代码:使用技术实现与数据库的交互。

(3)编写表示层代码:实现用户界面,与业务逻辑层进行交互。

4. 测试与调试(1)编写测试用例:针对每个功能编写测试用例,确保功能的正确性。

(2)进行单元测试:对每个模块进行测试,确保模块功能的正确性。

(3)进行集成测试:将各个模块组合在一起,测试整个系统的功能。

(4)调试:根据测试结果,对系统进行调试,修复存在的问题。

5. 项目文档编写(1)编写项目需求规格说明书:详细描述系统的功能、性能、界面等。

(2)编写项目设计说明书:描述系统的架构、数据库设计、界面设计等。

(3)编写项目测试报告:记录测试过程、测试结果、存在的问题等。

六、实验结果与分析1. 实验结果通过本次实验,成功实现了一个简单的学生管理系统,包括添加、删除、修改、查询等功能。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:实验七SQL 简单查询、连接查询和子查询一、实验目的1.掌握在查询分析器中使用SELECT语句进行简单查询。

2.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

3.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

4.观察查询结果, 体会SELECT语句实际应用二、实验用软件和工具1.计算机。

实验软件 VC++ 6.02.SQL Server2005软件。

三、实验步骤1 简单查询操作此部分查询包括投影、选择条件表达、数据排序、使用临时表等。

对EDUC(shiyan6)数据库实现以下查询:(1)求信电学院的学生学号和姓名;(2)求选修了课程的学生学号;(3)求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;(4)求选修课程C1 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;(5)求计算机系和数学系的姓张的学生的信息;(6)求缺少了成绩的学生的学号和课程号。

2 连接查询操作对EDUC(shiyan6)数据库实现以下查询:(1)查询每个学生的情况以及他(她)所选修的课程;(2)求学生的学号、姓名、选修的课程名及成绩;(3)求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩;(4)查询每一门课的间接先行课。

3.子查询操作,在数据库EDUC(shiyan6)中实现查询:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:(1)求选修了高等数学的学生学号和姓名;(2)求C1 课程的成绩高于张三的学生学号和成绩;(3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);(4)求其他系中比计算机系学生年龄都小的学生信息;(5)求选修了C2 课程的学生姓名;(6)求没有选修C2 课程的学生姓名;(7)查询选修了全部课程的学生的姓名;(8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:实验二栈和队列的基本操作一、实验目的1.掌握栈与队列的数据类型描述及特点;2.掌握栈和队列的存储;3.掌握栈的顺序和链式存储存表示与入栈、出栈操作的程序实现;4. 掌握队列的链式存储表示与入队、出队基本操作算法实现。

二、实验用软件和工具实验软件 VC++ 6.0三、实验步骤1.根据栈数据结构,分别建立一个顺序栈和链式栈并实现其上基本操作(出栈和入栈等),定义一个顺序栈和链栈结构体(队列结构体)。

2.利用入栈功能保存数据。

3.利用出栈删除弹出栈内信息。

4.根据队列数据结构,分别建立链队列和循环队列,并完成其上的基本操作(出入队列等),利用入队功能保存数据。

5.利用出队删除队列信息。

四、实验程序与程序运行结果顺序栈程序:sxz.h#include <iostream>using namespace std;template <class T>class sq_Stack{private:int mm;int top;T *s;public:sq_Stack(int);void prt_sq_Stack();void ins_sq_Stack(T x);T del_sq_Stack();T read_sq_Stack();学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:};template <class T>sq_Stack<T>::sq_Stack(int m){mm=m;s = new T[mm];top=0;return;}template <class T>void sq_Stack<T>::prt_sq_Stack(){int i;cout<<"top="<<top<<endl;for (i=top;i>0;i--) cout<<s[i-1]<<endl;return;}template <class T>void sq_Stack<T>::ins_sq_Stack(T x){if (top==mm){cout<<"overflow!"<<endl; return;}//存储空间已满,上溢错误top=top+1; //s[top-1]=x; //插入新元素return;}template<class T>T sq_Stack<T>::del_sq_Stack(){T y;if(top==0) //空,下溢错误{cout<<"underflow!"<<endl; return(0);}y=s[top-1]; //top=top-1; //长度减1return(y);}template<class T>T sq_Stack<T>::read_sq_Stack(){if(top==0) //空,下溢错误{cout<<"underflow!"<<endl; return(0);}return(s[top-1]);学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:}sxz.cpp#include "sq_Stack.h"int main(){sq_Stack<int> s(10);s.ins_sq_Stack(50);s.ins_sq_Stack(60);s.ins_sq_Stack(70);s.ins_sq_Stack(80);s.ins_sq_Stack(90);s.ins_sq_Stack(100);cout<<"第1次输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();cout<<"输出栈顶元素:"<<s.read_sq_Stack()<<endl;cout<<"输出退栈的元素:"<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<"再输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();return 0;}顺序队列程序:sq_Queue.h#include <iostream>using namespace std;template <class T>class sq_Queue{private:int mm;int front;int rear;int s;T *q;public:sq_Queue(int) ;void prt_sq_Queue();void ins_sq_Queue(T x);T del_sq_Queue();};template <class T>sq_Queue<T>::sq_Queue(int m){mm=m;q = new T[mm];front=mm;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:rear=mm;s=0;return;}template <class T>void sq_Queue<T>::prt_sq_Queue(){int i;cout<<"front="<<front<<endl;cout<<"rear="<<rear<<endl;if ((s==0)&&(rear==front)){cout<<"队列空!"<<endl; return;}i=front;if (front>=mm)front=i%mm ;for (i=front; i<rear;i++){ cout<<q[i]<<endl;}return;}template <class T>void sq_Queue<T>::ins_sq_Queue(T x){if ((s==1)&&(rear==front)){cout<<"Queue_overflow!"<<endl; return;}//存储空间已满,上溢错误rear=rear+1; //if (rear==mm+1)rear=1;q[rear-1]=x; //插入新元素s=1;return;}template <class T>T sq_Queue<T>::del_sq_Queue(){T y;if (s=0){cout<<"Queue_underflow!"<<endl; return(0);}//存储空间已满,上溢错误front=front+1; //if (front==mm+1)front=1;y=q[front-1]; //插入新元素if (rear==front)s=0;return(y);}sq_Queue.cpp学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:#include "sq_Queue.h"int main(){sq_Queue<int> q(10);q.prt_sq_Queue();q.ins_sq_Queue(50);q.ins_sq_Queue(60);q.ins_sq_Queue(70);q.ins_sq_Queue(80);q.ins_sq_Queue(90);q.ins_sq_Queue(100);cout<<"输出队头与队尾指针及队列中的元素:"<<endl;q.prt_sq_Queue();cout<<"输出退队元素:"<<endl;cout<<q.del_sq_Queue()<<endl;cout<<q.del_sq_Queue()<<endl;cout<<q.del_sq_Queue()<<endl;cout<<"再输出队头与队尾指针及队列中的元素:"<<endl;q.prt_sq_Queue();return 0;}链栈:#include <iostream.h>#include <stdio.h>#include <stdlib.h>typedef char DateType;typedef struct node{DateType data;struct node* next;}LinkStack;LinkStack *top;void InitStack(){top=(LinkStack*)malloc(sizeof(LinkStack));top->next=NULL;top->data=0;cout<<"初始化链栈成功!";}void push(DateType x){LinkStack* s;s=(LinkStack*)malloc(sizeof(LinkStack));s->data=x;s->next=top;top=s;cout<<"入栈成功!";}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:void pop(){LinkStack* s;s=top;if(s->next==NULL){cout<<"栈为空!";}else{top=s->next;free(s);cout<<"出栈成功";}}void readTop(){if(top==NULL){cout<<"栈为空!";}else{cout<<"栈顶元素为:"<<top->data;}}void showStack(){LinkStack* s;s=top;if(s->next==NULL){cout<<"栈为空!";}else{cout<<"链栈元素为:\n";cout<<"\t\t\t";while(s!=NULL){cout<<" "<<s->data;s=s->next;}}}void main(){int i,j;DateType x;while(j)学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:{cout<<"\n\n\n\n";cout<<"****************************************************************"<<endl; cout<<"*** 菜单:***"<<endl;cout<<"*** ①创建链栈②入栈③读栈顶元***"<<endl;cout<<"*** ④出栈⑤显示链栈元素⑥退出***"<<endl;cout<<"****************************************************************"<<endl; cout<<"请选择您所希望的操作:";cin>>i;if(i==1){InitStack();}else if(i==2){if(top==NULL){cout<<"请先初始化链表!";}else{cout<<"请输入要入栈的元素:";cin>>x;push(x);}}else if(i==3){pop();}else if(i==4){readTop();}else if(i==5){showStack();}else if(i==6){j=0;cout<<"程序结束\n";}}}链队列:#include <stdlib.h>#include<iostream.h>#define TRUE 1#define FALSE 0学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:typedef int QElemType;typedef struct LNode{QElemType data;struct LNode *next;}LNode , *LinkList;typedef struct{LinkList front;LinkList rear;}LinkQueue;//链式队列void InitQueue_L(LinkQueue &Q)//引用做参数,Q为结构体{//初始化队列Q.front=Q.rear=new LNode;if(!Q.front) {cout<<"存储分配失败!"<<endl; exit(1);}Q.front->next=NULL;}int IsEmpty(LinkQueue &Q){if(Q.front==Q.rear){return TRUE;}else{return FALSE;}}//创建队列,数据元素由键盘输入void CreateQueue_L(LinkQueue &Q){QElemType temp;LNode *p;cout<<"输入要插入的队列值(输入-1结束)"<<endl;cin>>temp;while(temp != -1){p=new LNode;p->data=temp;p->next=NULL;Q.rear->next=p;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:Q.rear=p;cin>>temp;}cout<<"创建成功!"<<endl;}//入队操作int EnterQueue(LinkQueue &Q,QElemType x){//将数据元素x插入到队列Q中LNode *NewNode=new LNode;if(!NewNode) {cout<<"存储分配失败!"<<endl; exit(1);}if(NewNode!=NULL){NewNode->data=x;NewNode->next=NULL;Q.rear->next=NewNode;Q.rear=NewNode;cout<<"入队成功!"<<endl<<endl;return(TRUE);}else return(FALSE); //溢出}//出队操作int DeleteQueue(LinkQueue &Q,QElemType &x){//将队列Q的队头元素出队,并存放到x所指的存储空间中LNode *p;/*if(Q.front==Q.rear){cout<<"该队列为空!"<<endl;return(FALSE);}*/p=Q.front->next;x=p->data;Q.front->next=p->next; //队头元素p出队if(Q.rear==p) //如果队中只有一个元素p,则p出队后成为空队Q.rear=Q.front;free(p); //释放存储空间cout<<"出队成功!"<<endl<<endl;return(TRUE);}//队列长度int QueueLength_L(LinkQueue Q){int length=0;if(IsEmpty(Q)) cout<<"该队列为空!"<<endl;else学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:{LNode *p=new LNode;p=Q.front->next;while(p){length++;p=p->next;}}return length;}//输出队列元素void OutputQueue_L(LinkQueue Q){LNode *p=new LNode;if(!p) {cout<<"存储分配失败!"<<endl; exit(1);}if(Q.front==Q.rear) cout<<"该队列为空!"<<endl;else{p=Q.front->next;cout<<endl;cout<<"队列的元素依次为:";while(p){cout<<p->data<<" ";p=p->next;}cout<<endl<<endl;}}QElemType SearchQueue(LinkQueue &Q,int &i){LNode *p=new LNode;if(!p) {cout<<"存储分配失败!"<<endl; exit(1);}//if(Q.front==Q.rear) cout<<"该队列为空!"<<endl;int j=1;p=Q.front->next;while(p&&j<i){j++;p=p->next;}return p->data;}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩://销毁队列void DestroyQueue_L(LinkQueue &Q){while(Q.front){Q.rear=Q.front->next;delete Q.front;Q.front=Q.rear;}}void main(){int flag=1,select;LinkQueue Q;int x;while(flag){cout<<" ☆☆链式队列基本操作☆☆"<<endl;cout<<" ☆1.创建队列☆"<<endl;cout<<" ☆2.判断链队列是否为空☆"<<endl;cout<<" ☆3.队头元素出队☆"<<endl;cout<<" ☆4.新元素入队☆"<<endl;cout<<" ☆5.求队列长度☆"<<endl;cout<<" ☆6.输出队列元素☆"<<endl;cout<<" ☆7.查找第i个位置元素☆"<<endl;cout<<" ☆8.销毁队列☆"<<endl;cout<<" ☆9.其他键退出☆"<<endl;cout<<endl;cout<<"请选择操作:";cin>>select;switch(select){case 1:InitQueue_L(Q);CreateQueue_L(Q);OutputQueue_L(Q);break;case 2:if(IsEmpty(Q)) cout<<"该队列为空!"<<endl;else cout<<"该队列不为空!"<<endl;break;case 3:if(IsEmpty(Q)) {cout<<"队列为空!"<<endl; break;}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:DeleteQueue(Q,x);OutputQueue_L(Q);break;case 4:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}cout<<"输入要入队的元素x:";cin>>x;EnterQueue(Q,x);OutputQueue_L(Q);break;case 5:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}cout<<"该链队列的长度为:"<<QueueLength_L(Q)<<endl<<endl;break;case 8:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}DestroyQueue_L(Q);cout<<"销毁成功!"<<endl<<endl;break;case 7:cout<<"请输入要查找的位置i:";cin>>x;if(x<1||x>QueueLength_L(Q)) {cout<<"i值不合法!"<<endl; break;}cout<<"该元素为:"<<SearchQueue(Q,x)<<endl<<endl;break;case 6:OutputQueue_L(Q);break;default:flag=0;break;}}}试验运行结果如图:栈:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:队列:链栈:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:链队列:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:五、实验心得与体会通过本次上机实验,我掌握了栈的顺序和链式存储存表示与入栈、出栈操作的程序实现,以及队列的链式存储表示与入队、出队基本操作算法实现。

软件技术报告

软件技术报告

现场答辩成绩:实验报告成绩:总成绩:重庆邮电大学自动化学院综合实验报告题目:基于嵌入式系统的手持终端界面单位(二级学院):自动化学院学生姓名:邓大庆专业:自动化班级:0810704学号:07200428指导教师:袁荣棣设计时间:2010 年11 月重庆邮电大学自动化学院制实验一:线性表的操作实验目的:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法 实验内容:参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法 设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。

3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。

实验原理1.删除指定元素当线性表为空时为上溢错误,不能进行删除操作,算法结束。

当1 i 或者nn i ≥时,顺序表中没有这个元素,输出提示用户错误。

然后从第1+i 个元素开始,直到最后一个元素,其中每一个元素均依次往前移动一个位置,最后将线性表的长度减1。

2.查找当线性表为空时,无法进行查找操作,算法结束。

从第一个元素开始,把线性表中的元素与需要查找的元素比较,相等输出其下标,并返回。

3.检测顺序表状态利用先行表的长度为0还是等于其容量,判断其是否为空和满,输出信息提示用花上溢或者下溢。

4.输出表中元素利用for 循环,cout 语句顺序输出表中元素 5.插入或者表中元素初始化当存储空间满时,输出上溢错误,不能进行插入操作,算法结束。

当nn i ≥实,认为在最后一个元素之后插入。

当1 i 时,认为在第一个元素之前插入。

从最后一个元素开始,直到第i 个元素,其中每一个元素均往后移动一个位置,将新元素插入到第i 个位置,并将线性表的长度加1。

重邮课程实验报告

重邮课程实验报告

一、实验名称数字信号处理实验二、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握数字滤波器的设计方法及其应用。

3. 熟悉数字信号处理软件的使用,提高实验技能。

三、实验原理数字信号处理(Digital Signal Processing,DSP)是研究数字信号的产生、处理、分析和应用的科学。

本实验主要涉及以下几个方面:1. 数字滤波器的基本概念:数字滤波器是一种对数字信号进行频率选择的装置,可以用于信号的滤波、增强、抑制等。

2. 滤波器的设计方法:主要包括有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器的设计方法。

3. 数字信号处理软件的使用:利用MATLAB等软件进行数字信号处理实验,提高实验效率。

四、实验器材1. 实验计算机2. MATLAB软件3. 实验指导书五、实验步骤1. 实验一:FIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入FIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

2. 实验二:IIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入IIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

3. 实验三:数字信号处理软件的使用(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入信号处理的参数,如采样频率、滤波器类型等。

(3)运行脚本文件,观察信号处理的结果。

(4)根据实验结果,分析数字信号处理软件的应用。

六、实验结果与分析1. 实验一:FIR滤波器设计实验结果表明,所设计的FIR滤波器具有较好的频率选择性,滤波效果符合预期。

2. 实验二:IIR滤波器设计实验结果表明,所设计的IIR滤波器具有较好的频率选择性,滤波效果符合预期。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:实验五图的存储与遍历一、实验目的1.熟悉图的逻辑结构定义、深度优先搜索和广度优先搜索算法。

2.掌握图的深度优先搜索和广度优先搜索程序实现。

二、实验用软件和工具实验软件 VC++ 6.0三、实验步骤建立一个图,用C语言实现,调试并输出结果;实现图的深度优先搜索和广度优先搜索,用C语言实现,调试并输出结果。

1.建立并显示一个图。

2.图的深度优先搜索。

3.图的广度优先搜索。

四、实验程序与程序运行结果有向网的邻接矩阵#include "stdio.h"#define M 50#define N 4void init(int b[][N]) /*初始化图*/{ int i,j,k;for(i=0;i<N;i++) /*弧的尾结点*/for(j=0;j<N;j++)/*弧的头结点*/{ printf("%d,%d(%d)",i+1,j+1,M);scanf("%d",&b[i][j]);/*输入权值*/}}void fz(int b[][N],int d[][N])/*复制一个图*/{ int i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)d[i][j]=b[j][i];}void sc(int b[][N])/*显示图*/{ int i,j;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:for(i=0;i<N;i++)/*显示图或最小生成树的数组*/{for(j=0;j<N;j++)printf("%d ",b[i][j]);printf("\n");}}main(){ int a[N][N],c[N][N];printf("\nshuruhu:\n\n");init(a);/*初始化图*/printf("\nxianshitu\n\n");sc(a);/*显示图*/fz(a,c);/*图转置*/printf("\nxianshizhuanzhitu\n\n");sc(c);/*显示图*/}遍历#include <iostream>//#include <malloc.h>#define INFINITY 32767#define MAX_VEX 20 //最大顶点个数#define QUEUE_SIZE (MAX_VEX+1) //队列长度using namespace std;bool *visited; //访问标志数组//图的邻接矩阵存储结构typedef struct{char *vexs; //顶点向量int arcs[MAX_VEX][MAX_VEX]; //邻接矩阵int vexnum,arcnum; //图的当前顶点数和弧数}Graph;//队列类class Queue{public:void InitQueue(){base=(int *)malloc(QUEUE_SIZE*sizeof(int));front=rear=0;}void EnQueue(int e){base[rear]=e;rear=(rear+1)%QUEUE_SIZE;}void DeQueue(int &e){e=base[front];front=(front+1)%QUEUE_SIZE;}public:int *base;int front;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:int rear;};//图G中查找元素c的位置int Locate(Graph G,char c){for(int i=0;i<G.vexnum;i++)if(G.vexs[i]==c) return i;return -1;}//创建无向网void CreateUDN(Graph &G){int i,j,w,s1,s2;char a,b,temp;printf("输入顶点数和弧数:");scanf("%d%d",&G.vexnum,&G.arcnum);temp=getchar(); //接收回车G.vexs=(char *)malloc(G.vexnum*sizeof(char)); //分配顶点数目printf("输入%d个顶点.\n",G.vexnum);for(i=0;i<G.vexnum;i++){ //初始化顶点printf("输入顶点%d:",i);scanf("%c",&G.vexs[i]);temp=getchar(); //接收回车}for(i=0;i<G.vexnum;i++) //初始化邻接矩阵for(j=0;j<G.vexnum;j++)G.arcs[i][j]=INFINITY;printf("输入%d条弧.\n",G.arcnum);for(i=0;i<G.arcnum;i++){ //初始化弧printf("输入弧%d:",i);scanf("%c %c %d",&a,&b,&w); //输入一条边依附的顶点和权值temp=getchar(); //接收回车s1=Locate(G,a);s2=Locate(G,b);G.arcs[s1][s2]=G.arcs[s2][s1]=w;}}//图G中顶点k的第一个邻接顶点int FirstVex(Graph G,int k){if(k>=0 && k<G.vexnum){ //k合理for(int i=0;i<G.vexnum;i++)if(G.arcs[k][i]!=INFINITY) return i;}return -1;}//图G中顶点i的第j个邻接顶点的下一个邻接顶点int NextVex(Graph G,int i,int j){if(i>=0 && i<G.vexnum && j>=0 && j<G.vexnum){ //i,j合理for(int k=j+1;k<G.vexnum;k++)if(G.arcs[i][k]!=INFINITY) return k;}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:return -1;}//深度优先遍历void DFS(Graph G,int k){int i;if(k==-1){ //第一次执行DFS时,k为-1for(i=0;i<G.vexnum;i++)if(!visited[i]) DFS(G,i); //对尚未访问的顶点调用DFS}else{visited[k]=true;printf("%c ",G.vexs[k]); //访问第k个顶点for(i=FirstVex(G,k);i>=0;i=NextVex(G,k,i))if(!visited[i]) DFS(G,i); //对k的尚未访问的邻接顶点i递归调用DFS}}//广度优先遍历void BFS(Graph G){int k;Queue Q; //辅助队列QQ.InitQueue();for(int i=0;i<G.vexnum;i++)if(!visited[i]){ //i尚未访问visited[i]=true;printf("%c ",G.vexs[i]);Q.EnQueue(i); //i入列while(Q.front!=Q.rear){Q.DeQueue(k); //队头元素出列并置为kfor(int w=FirstVex(G,k);w>=0;w=NextV ex(G,k,w))if(!visited[w]){ //w为k的尚未访问的邻接顶点visited[w]=true;printf("%c ",G.vexs[w]);Q.EnQueue(w);}}}}//主函数void main(){int i;Graph G;CreateUDN(G);visited=(bool *)malloc(G.vexnum*sizeof(bool));printf("\n广度优先遍历: ");for(i=0;i<G.vexnum;i++)visited[i]=false;DFS(G,-1);printf("\n深度优先遍历: ");for(i=0;i<G.vexnum;i++)学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:visited[i]=false;BFS(G);printf("\n程序结束.\n");}试验运行结果如图:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:五、实验心得与体会通过本次实验,我掌握了图的深度优先搜索和广度优先搜索程序实现对树与二叉树的遍历,尤其是广度优先遍历和深度优先遍历的理解进一步加深。

重庆邮电大学实验报告(内页)[5篇范文]

重庆邮电大学实验报告(内页)[5篇范文]

重庆邮电大学实验报告(内页)[5篇范文]第一篇:重庆邮电大学实验报告(内页)课程名称课程编号实验地点实验时间校外指导教师校内指导教师实验名称评阅人签字成绩一、实验目的二、实验原理三、使用仪器、材料四、实验步骤五、实验过程原始记录((数据、图表、计算等))六、实验结果及分析七、实验心得体会第二篇:重庆邮电大学实验报告(内页),,副本课程名称操作系统课程编号A2130330实验地点综合实验楼 A511/A A 512实验时间2019--06--10校外指导教师校内指导教师常光辉实验名称实验 X X实验名称评阅人签字成绩一、实验目的二、实验原理三、使用仪器、材料四、实验步骤五、实验过程原始记录((数据、图表、计算等))六、实验结果及分析七、实验心得体会第三篇:重庆邮电大学实验报告(内页),,副本,,副本课程名称操作系统课程编号A2130330实验地点综合实验楼 A511/A A 512实验时间2019--06--10校外指导教师校内指导教师常光辉实验名称实验一进程控制描述与控制评阅人签字成绩一、实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。

二、工具/ / 准备工作1.回顾教材相关内容;2.在Vmware WorkStation Pro 中安装Windows Server 2016。

三、实验环境操作系统:Windows Server 2016(虚拟机)编程语言:C++ 集成开发环境:Visual Studio 2019 四、实验步骤与实验过程五、实验结果与分析六、实验心得体会第四篇:重庆邮电大学计算机网络实验报告实验一网络命令与使用实验要求:1、在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关2、向一台电脑无限制的发送数据包,此数据包大小为60000byte3、查看本地计算机或另一台计算机的ARP高速缓存中的当前内容4、从一台ftp服务器上下载一份文件实验过程:1、在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关在命令行输入:ipconfig 命令2、向一台电脑无限制的发送数据包,此数据包大小为60000byte 在命令行格式:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-lis其中-t表示ping指定计算机直到中断,-l定义发送数据包的长度。

重庆邮电大学软件技术基础实验报告耿道渠

重庆邮电大学软件技术基础实验报告耿道渠

重庆邮电大学软件技术基础实验报告耿道渠《软件技术基础》实验报告实验名称:顺序表的操作班级学号姓名第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";。

《软件技术基础》实验指导(含答案)

《软件技术基础》实验指导(含答案)

说明每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。

对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。

实验一线性表一、实验目的1.熟悉线性表的顺序和链式存储结构2.掌握线性表的基本运算3.能够利用线性表的基本运算完成线性表应用的运算二、实验内容1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n , e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。

(文件夹:顺序表逆置、单链表逆置)2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。

(文件夹:分解单链表)实验二栈和队列一、实验目的1.熟悉栈和队列的顺序和链式存储结构2.掌握栈和队列的基本运算3.能够利用栈和队列的基本运算完成栈和队列应用的运算二、实验内容1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。

(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。

)(文件夹:判字符串中心对称)2.假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen 分别指示循环队列中队尾元素的位置和内含元素的个数。

编写实现该循环队列的入队和出队操作的算法。

提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。

(文件夹:循环队列)实验三串一、实验目的1.熟悉串的顺序存储结构2.掌握串的基本运算及应用二、实验内容1.串采用顺序存储结构,编写朴素模式匹配算法,查找在串中是否存在给定的子串。

软件技术基础实验报告1

软件技术基础实验报告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的元素,显示查找结果。

《软件技术基础》课程教学实践与探索

《软件技术基础》课程教学实践与探索
的学 习基 础 差 异 较大 , 何利 用 有 限 的学 时 来 教好 本 门课 如 程 是 一个 值 得 探 讨 的 问题 。
C+ + 语言来实现, 并针对两种语言的实现方式展开对 比, 重
点介绍编程思想 。 此外, 对于“ 的结构形式也有两种 , 栈” 一 是采用顺序表 的形式, 一是采用链表 的形式。针对这两种 不同的结构形式在进行对 比讲解 。一个应用案例, 通过多 种实现形式的讲解 , 让学生对 “ 这个知识点有 了更深刻 栈”
律。
三、 结论

2一
度较 大的任务中, 较低的动机水平有利于任务 的完成 。通 常, 中等强度的动机最有利于任务的完成。 也就是说, 动机
2 1年 第2期( 02 3 总第1 1 ) 9期
~ … … … … … … … ●
《 软件技术基础 》课程教学实践与探索
耿道渠 徐 洋 李 锐
4 06 00 5 重庆 邮 电大 学 自动化 学院 ,重庆
摘 要
结合重庆邮 电大学 自动化 学院软件技 术基础教 学的特 点, 分析基础教 学的现状 , 针对学生的特
三、 学效果检验 教
“ 软件技术基础” 门课程还设置了实 ( 这 下转第 8 页) 8
的任务中, 学习效率会随着动机的提高而上升 ; 随着任务难 度的增加 , 动机 的最佳水平会有逐渐下降。 也就是说, 在难
自身 已有知识 , 在任务的完成过程中学习并巩固新知识 , 提 升在实际生活 中运用所学知识的能力 。2 、任务难度要适 中, 同时也应贴合现实生活, 具有可操作性 , 要与时俱进 , 贴 合身边发生的事, 使活动和任务更具真实感 , 能干篇一 不
学 习打 下基 础 。
中图分类号 : 6 2 G4. 0

计算机软件技术基础实验报告

计算机软件技术基础实验报告

计算机软件技术基础实验报告计算机软件基础实验报告学号实验⽬的1. 掌握C语⾔程序设计⽅法,并学会上机调试。

2. 熟悉Huffman编码源程序,并构造Huffman树。

实验内容1.试设计⼀算法,从包括n个元素的数组中,求最⼤和最⼩元素,并使得当n个元素为有序排列时,元素之间的⽐较次数仅为n-1次。

2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编码相⽐时的压缩⽐。

实验要求1.根据实验内容编写算法,并⽤C 语⾔进⾏程序设计。

2. 将所编程序在计算机上调试通过,并全⾯测试。

实验结果1.以⼀个含有8个元素的⼀维数组{1,2,3,5,7,8,9,12}为例,设计程序如下:#includeint maxArray(int x ,int y);int minArray(int x ,int y);int main(void){int i = 0 ;int array[8]={ 1,2,3,5,7,8,9,12} ;printf;do{scanf("%d",&array[i]);i++;} while(i < 8);int maxTemp = array[0];int minTemp = array[0];int maxIndex = 0;int minIndex = 0;for(i=1;i<8;i++){maxTemp = maxArray(array[i] , maxTemp);minTemp = minArray(array[i] , minTemp);}for(i=0;i<8;i++){if (maxTemp == array[i]){maxIndex = i;}if (minTemp == array[i]){minIndex = i;}}printf;return 0;}运⾏结果如下:2.Huffman编码源程序#include#include#include#include#includetypedef struct{unsigned int weight; //结点权值unsigned int parent,lchild,rchild; //结点的⽗指针,左右孩⼦指针}HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //⽣成哈夫曼树void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树进⾏编码void PrintHuffmanCode(HuffmanCode,unsigned int*,int); //显⽰哈夫曼编码void Select(HuffmanTree,int,int&,int&); //在数组中寻找权值最⼩的两个结点void main() {HuffmanTree HT; //哈夫曼树HTHuffmanCode HC; //哈夫曼编码表HCint n,i; //n是哈夫曼树叶⼦结点数unsigned int *w; //w存放叶⼦结点权值char j='y';printf("演⽰构造哈夫曼树.\n");printf("输⼊需要进⾏编码的字符数⽬.\n例如:8\n");printf("然后输⼊每个字符出现的次数/权值.\n");printf("例如:5 29 7 8 14 23 3 11\n");printf("⾃动构造⼀棵哈夫曼树并显⽰哈夫曼编码.\n");printf(" 5---0110\n 29---10\n 7---1110\n 8---1111\n 14---110\n"); printf(" 23---00\n 3---0111\n 11---010\n");while(j!='N'&&j!='n'){printf("请输⼊字符数⽬:");scanf("%d",&n); //输⼊字符数⽬if(n<=1) {printf("该数不合理!\n");continue;}w=(unsigned int*)malloc(n*sizeof(unsigned int)); //开辟空间存放权值printf("请输⼊各字符出现的次数/权值:\n");for(i=0;iCreateHuffmanTree(HT,w,n); //⽣成哈夫曼树HuffmanCoding(HT,HC,n); //进⾏哈夫曼编码PrintHuffmanCode(HC,w,n); //显⽰哈夫曼编码printf("哈夫曼树构造完毕,还要继续吗?(Y/N)");scanf(" %c",&j);}}void CreateHuffmanTree(HuffmanTree &HT,unsigned int *w,int n){//w存放n个结点的权值,将构造⼀棵哈夫曼树HTint i,m;int s1,s2;HuffmanTree p;if(n<=1) return;m=2*n-1; //n个叶⼦结点的哈夫曼树,有2*n-1个结点HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode)); //开辟2*n各结点空间for(p=HT+1,i=1;i<=n;++i,++p,++w) //进⾏初始化{p->weight=*w;p->parent=0;p->lchild=0;p->rchild=0;}for(;i<=m;++i,++p){p->weight=0;p->parent=0;p->lchild=0;p->rchild=0;}for(i=n+1;i<=m;++i) //建哈夫曼树{Select(HT,i-1,s1,s2);//从HT[1...i-1]中选择parent为0且weight最⼩的两个结点,其序号分别为s1和s2HT[s1].parent=i; HT[s2].parent=i; //修改s1和s2结点的⽗指针parentHT[i].lchild=s1; HT[i].rchild=s2; //修改i结点的左右孩⼦指针HT[i].weight=HT[s1].weight+HT[s2].weight; //修改权值}}void HuffmanCoding(HuffmanTree HT,HuffmanCode &HC,int n){//将有n个叶⼦结点的哈夫曼树HT进⾏编码,所编的码存放在HC中//⽅法是从叶⼦到根逆向求每个叶⼦结点的哈夫曼编码int i,c,f,start;char *cd;HC=(HuffmanCode)malloc((n+1)*sizeof(char *)); //分配n个编码的头指针向量cd=(char *)malloc(n*sizeof(char)); //开辟⼀个求编码的⼯作空间cd[n-1]='\0'; //编码结束符for(i=1;i<=n;++i) //逐个地求哈夫曼编码{start=n-1; //编码结束位置for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent) //从叶⼦到根逆向求编码if(HT[f].lchild==c) cd[--start]='0'; //若是左孩⼦编为'0' else cd[--start]='1'; //若是右孩⼦编为'1'HC[i]=(char *)malloc((n-start)*sizeof(char)); //为第i个编码分配空间strcpy(HC[i],&cd[start]); //将编码从cd复制到HC中}free(cd); //释放⼯作空间}void PrintHuffmanCode(HuffmanCode HC,unsigned int *w,int n){//显⽰有n个叶⼦结点的哈夫曼树的编码表int i;printf("HuffmanCode is :\n");for(i=1;i<=n;i++){printf(" %3d---",w[i-1]);puts(HC[i]);}printf("\n");}void Select(HuffmanTree HT,int t,int&s1,int&s2){//在HT[1...t]中选择parent不为0且权值最⼩的两个结点,其序号分别为s1和s2 int i,m,n;m=n=10000;for(i=1;i<=t;i++){if(HT[i].parent==0&&(HT[i].weightif(m{n=HT[i].weight;s2=i;}else {m=HT[i].weight;s1=i;}。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

计算机软件实验报告姓名:班级:学号:指导教师:实验一线性表的基本操作一、实验目的与基本要求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.掌握栈和队列的特点。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:实验一顺序表的基本操作及学生信息管理实现一、实验目的1.掌握顺序表结构的实现方式。

2.掌握顺序表常用算法初始化、插入、删除等操作的程序实现。

2.熟悉利用顺序表解决问题的一般思路。

3.学习体会顺序表结构的优点与不足。

二、实验用软件和工具实验软件 VC++ 6.0三、实验步骤利用顺序表实现学生信息管理。

学生的信息包括学号、姓名、性别、班级和联系电话,功能要求:信息浏览:显示所有学生信息列表;插入信息:在线性表的头部插入一个学生信息;删除信息:按照学号删除某个学生的信息;修改信息:实现按照学号修改某个学生信息;退出程序。

编写程序调试并输出结果。

(1)建立一个顺序表、设计顺序表表的基本操作实现算法、调试并输出结果。

(2)参考顺序表的算法描述和算法的实现,在本程序中修改顺序表的插入、删除、修改等算法的实现函数。

①信息的浏览②利用插入功能插入学生信息。

③利用删除功能删除学生信息。

④利用修改功能修改学生信息。

(3)编写主函数,可通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)可以增加学生的课程成绩,实现成绩的统计分析功能。

四、实验程序与程序运行结果#include <stdio.h>#include <string.h>struct data{int number;char name[10];char sex[5];char classes[5];int tel;};int insert(struct data st[5],int n); /*申明插入函数*/void scanning(struct data st[5],int n); /*申明浏览函数*/学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:int del(struct data st[5],int n); /*申明删除函数*/void fix(struct data st[5],int n); /*申明修改函数*/int main(){struct data st[5];int chioce,flag=1;int n;n=0;while(flag){printf("请选择功能:\n 1—信息浏览\n 2—插入信息\n 3—删除信息\n 4-修改信息\n 0—退出程序\n");scanf("%d",&chioce);switch(chioce){case 1:scanning(st,n);break;case 2:n=insert(st,n);break;case 3:n=del(st,n);break;case 4:fix(st,n);break;case 0:flag=0;break;}}printf("\n");printf("谢谢使用!\n");return 0;}void scanning(struct data st[5],int n) /*定义浏览函数*/{int i;if(n==0) /*无元素*/{printf("请选择功能键,先插入名单!\n");printf("\n");printf("\n");}else{学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:for(i=1;i<=n;i++){printf(" 学号:%d\n ",st[i].number);printf(" 姓名:%s\n",st[i].name);printf(" 性别:%s\n",st[i].sex);printf(" 班级:%s\n",st[i].classes);printf("联系方式:%d\n",st[i].tel);printf("\n");}}}int insert(struct data st[5],int n) /*定义插入函数*/{int i,p;struct data t;if(n>=5){printf("内存已满!\n");printf("\n");}else{printf("请输入学号:\n");scanf("%d",&t.number);printf("请输入姓名:\n");scanf("%s",);printf("请输入性别:\n");scanf("%s",t.sex);printf("请输入班级:\n");scanf("%s",t.classes);printf("请输入号码:\n");scanf("%d",&t.tel);}for(i=n;i>0;i--) /*所有元素后移*/{st[i+1].number=st[n].number;strcpy(st[i+1].classes,st[i].classes);strcpy(st[i+1].name,st[i].name);strcpy(st[i+1].sex,st[i].sex);st[i+1].tel=st[i].tel;}st[1].number=t.number;strcpy(st[1].classes,t.classes);strcpy(st[1].name,);strcpy(st[1].sex,t.sex);学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:st[1].tel=t.tel;p=n+1;return p;}int del(struct data st[5],int n) /*定义删除函数*/{int m,i,q,t;printf("请输入你要删除的同学的学号:\n");scanf("%d",&m);for(i=1;i<=n;i++){if(st[i].number==m){t=i;break;}}for(i=t;i<n;i++) /*删除结点后的所有元素后移*/{st[i].number=st[i+1].number;st[i].tel=st[i+1].tel;strcpy(st[i].classes,st[i+1].classes);strcpy(st[i].name,st[i+1].name);strcpy(st[i].sex,st[i+1].sex);}q=n-1;return q;}void fix(struct data st[5],int n) /*定义修改函数*/{int i,m,p,t=1;struct data s;printf("请输入你要修改的学生的学号:\n");scanf("%d",&m);for(i=1;i<=n;i++){if(st[i].number==m){while(t){printf("你想要修改哪项数据?\n 1代表学号\n 2代表姓名\n 3代表性别\n 4代表班级\n 5代表联系方式\n (注意:修改完毕请输入)\n");scanf("%d",&p);switch(p)学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:{case 1:printf("请输入修改后的学号!\n");scanf("%d",&s.number);st[i].number=s.number;break;case 2:printf("请输入修改后的姓名!\n");scanf("%s",);strcpy(st[i].name,);break;case 3:printf("请输入修改的性别!\n");scanf("%s",s.sex);strcpy(st[i].sex,s.sex);break;case 4:printf("请输入修改的班级!\n");scanf("%s",s.classes);strcpy(st[i].classes,s.classes);break;case 5:printf("请输入修改后的联系方式!\n");scanf("%d",&s.tel);st[i].tel=s.tel;break;case 0:t=0;break;}}}}}试验运行结果如图:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:五、实验心得与体会掌握了顺序表的创建与数据的添加、删除、修改等操作;在设计功能性程序的过程中,对顺序表中的数据进行写入、查询实在很方便,正是其优点所在。

浅谈“软件技术基础”之“课程思政”建设

浅谈“软件技术基础”之“课程思政”建设

浅谈“软件技术基础”之“课程思政”建设作者:耿道渠胡向东徐洋来源:《教育教学论坛》2020年第23期[摘要] 针对专业课程,积极开展“课程思政”建设,深入挖掘课程所蕴含的思政教育元素,并融入教学实践各个环节,课程教学兼顾知识传授和价值引领,对培养新时代中国特色社会主义事业的合格建设者和可靠接班人具有重要意义。

该文以“软件技术基础”这门专业基础课程为例,在分析了当前该课程建设所存在的问题基础上,给出了“课程思政”建设思路,并详细阐述了建设内容和举措,以期为同类课程的“课程思政”建设提供参考。

[关键词] 课程思政;软件技术基础;教学改革[基金项目] 重庆邮电大学文峰骨干教师项目(W2016-36);重庆邮电大学教育教学改革项目(XJG19202);重庆邮电大学“课程思政”试点课程项目(XKCSZ1904)[作者简介] 耿道渠(1977—),男,博士,重庆邮电大学自动化学院副教授,硕士生导师,主要从事无线传感器网络、体域网、语义物联网等研究;胡向东(1971—),男,博士,重庆邮电大学自动化学院教授,博士生导师,主要从事智能感知、网络化测量与工业大数据安全,物联网安全智能理论与技术,复杂系统建模、仿真与优化等交叉融合研究;徐洋(1977—),男,博士,重庆邮电大学自动化学院教授,硕士生导师,主要从事智能仪器仪表、汽车电子与嵌入式系统等研究。

[中图分类号] G64; ; [文献标识码] A; ; [文章编号] 1674-9324(2020)23-0043-02; ; [收稿日期] 2019-12-30一、背景及意义2016年12月,习近平总书记在全国高校思想政治工作会议上发表重要讲话指出,高等教育发展水平是一个国家发展水平和发展潜力的重要标志。

实现中华民族伟大复兴,教育的地位和作用不可忽视。

高校思想政治工作关系高校培养什么样的人、如何培养人以及为谁培养人这个根本问题。

要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面[1]。

软件技术基础实验实验四报告 (2)

软件技术基础实验实验四报告 (2)
6.建立“成绩”(XS_KC)表
7.输入“成绩”(XS_KC)表记录
三、实验步骤
1、在KC表中查询学分低于3的课程信息,并按课程号升序排列。
2、查询与杨颖同一个系的同学姓名。
查询XSQK表中所有的系名。
四、实验结果及分析
1、问题:
写代码不够熟练,花了很多的时间才把代码弄完
2、解决:
按照实验指导书的要求与步骤一步一步的完成相应的内容。
(2)掌握基本SELECT查询及其相关子句的使用;
(3)掌握复杂的SELECT查询,如2表查询、子查询、连接和联合查询。
二、实验内容和原理
1.创建“学生成绩”(XSCJ)数据库。
2.建立“学生情况”(XSQK)表。
3.输入“学生情况”(XSQK)表
4.建立“课程”(KC)表
5.输入“课程”(KC)表记录
课程名称
软件技术基础实验
实验项目名称
综合实验
实验室名称
网络对抗实验室
实验日期
学号姓名专业班级来自组号及组员机器编号及IP
指导教师
实验成绩
教师评语:
教师签字:批改时间:
一、实验目的和要求
实验目的:
通过一个实际问题的解决,来考察学生对《软件技术基础》相关理论知识掌握程度。
要求:
(1)掌握SQL Server 2005或(SQL Server 2008)环境使用;

软件技术基础2实验任务3带解答

软件技术基础2实验任务3带解答

《软件技术基础2》实验报告3学院专业年级姓名任课教师葛卫民实验指导葛卫民年月日实验三一、实验目的通过本试验,使学生理解数组、指针的概念及基本用法;掌握数组与指针程序的设计方法;掌握求最大最小、排序、字符串处理等基本算法的思想和使用方法。

二、实验内容1.通过程序实例,理解数组及指针的概念及基本语法。

2.编写教材第三章习题3中1、2、3、5、6、7要求的程序,并完成上机调试的实验任务。

其中第3题的第7小题需要分别用数组、指针结合动态内存分配两种方法来实现。

三、实验准备1.复习第三章的内容,重点是3.1、3.2、3.5节的内容及相关例题;2.编写教材第三章习题3中1、2、3、5、6、7要求的程序。

四、实验任务任务一:第1小题1.内容:向数组a中输入10个整数,求其中最大值、最小值和10个数的算术平均值。

2.源程序:#include<iostream.h>void main(){int a[10],max,min;double sum;for(int i=0;i<10;i++)cin>>a[i];max=min=a[0];sum=a[0];for(i=1;i<10;i++){if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];sum+=a[i];}cout<<"最大值="<<max<<endl<<"最小值="<<min<<endl<<"平均值="<<sum/10<<endl;}3.运行结果:4.实验中遇到的主要问题及解决方法任务二:第2小题1.内容:输入10个学生一门课的成绩,分别统计大于平均值的人数和小于60分的人数。

2.源程序:#include<iostream.h>void main(){int a[10],c=0,b=0;double sum=0,average;cout<<"输入10个学生一门课的成绩:"<<endl;for(int i=0;i<10;i++){cin>>a[i];sum+=a[i];}average=sum/10;for(i=0;i<10;i++){if(a[i]<60) b++;if(a[i]>average) c++;}cout<<"大于平均值的人数:"<<c<<endl<<"小于60分的人数:"<<b<<endl;}4.运行结果:5.实验中遇到的主要问题及解决方法任务三:第3小题1.内容:任意输入一个字符串,统计其中英文字母“a”和“i”的个数,并将该字符串输出。

软件技术基础2实验任务2带解答

软件技术基础2实验任务2带解答

《软件技术基础2》实验报告2学院专业年级姓名任课教师葛卫民实验指导葛卫民年月日实验二一、实验目的通过本试验,使学生进掌握循环程序的设计方法;掌握计数、求和、字符串处理等基本算法的设计方法。

二、实验内容1.通过程序实例,理解程序的三种基本结构及控制语句。

2.编写教材第二章习题中4、6、7、8、10、11要求的程序,并完成上机调试的实验任务。

三、实验准备1.复习第二章的2.4 -2.6节内容;2.编写教材第二章习题中6、7、8、10、11要求的程序。

四、实验任务任务一:第4题1.内容:编写程序,输入10个学生的考试分数(0~100),然后根据每个学生的分数,判断并显示每个学生的学号和等级。

学号由1到10,等级关系为:A 90<=分数<100等级= B 80<=分数<90C 60<=分数<80D 0<=分数<602.源程序:#include<iostream.h>void main(){int i;double s;cout<<"每次输入一个学生的分数(0~100),输10次"<<endl;for( i=1;i<11;i++){ cin>>s;if(s>=90) cout<<i<<" "<<"A"<<endl;else if(s<90&&s>=80) cout<<i<<" "<<"B"<<endl;else if(s<80&&s>=60) cout<<i<<" "<<"C"<<endl;else if(s<60&&s>=0) cout<<i<<" "<<"D"<<endl;}}3.运行结果:4.实验中遇到的主要问题及解决方法任务二:第6题1.内容:编写程序,用公式π/4=1-1/3+1/5-1/7+……求π的近似值,直到最后一项的绝对值小于10^(-6)为止。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件技术基础》实验报告实验名称:顺序表的操作班级学号姓名第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、掌握单链表常用算法的实现。

二、实验内容:1、设计一个链表,要求编程实现如下任务:(1)建立一个链表,首先依次输人整数数据元素(个数根据需要键盘给定)。

相关文档
最新文档