实验六 实验报告表

时间:2024.4.20

实验六实验报告表

实验报告表 6 - 1打开文件过程演示实验记录表

实验报告表 6 - 2创建文件过程演示实验记录表

实验报告表 6 - 3删除文件过程实验记录表


第二篇:实验一 链表操作实验报告 (2)


实验一链表操作实验报告2

实验内容

按实验内容与步骤阅读理解数据结构及主函数,并完成各子函数的功能。 #include <stdio.h>

#include <stdlib.h>

typedef struct node{

int num; //学号 float height; //身高 struct node *next;

}Node,*Link;

Link CreateLink();//创建链表

Link Delete(Link H,int n); //删除节点

Node *GetNode(Link H,int n);//获取节点

Link Sort(Link H); //排序链表

Link Insert(Link H,Node *N);//插入节点

int print(Link H);//输出

void main()

{

printf("\n\n****** ②:遍历2个链表 ******\n"); printf("\n遍历链表一:\n"); Link L1,L2; Node *N; printf("****** ①:创建两个链表 ******\n");//⑤⑥ printf("\n创建链表一\n\n"); L1=CreateLink(); printf("\n创建链表二\n\n"); L2=CreateLink();

print(L1); printf("\n遍历链表二:\n"); print(L2); printf("\n\n****** ③:删除第一个链表中的第二个节点 ******\n\n"); L1=Delete(L1,2); printf("删除后的链表一:\n"); print(L1); //printf("\n\n****** ④:将第一个链表中的第二个结点移动到第二个链表适当的位置 ******\n\n");

}

/***************************** 创建链表********************************/ /* 返回 表头节点 */

Link CreateLink()

{ //printf("获取链表一的第二个节点...\n"); N=GetNode(L1,2); //printf("为链表二排序..\n"); L2=Sort(L2); printf("将链表一的第二个结点移动到链表二的第一位\n"); if(N!=NULL) L2=Insert(L2,N); printf("移动后的链表一\n"); print(L1); printf("移动后的链表二\n"); print(L2);

Link H=NULL; Node *p,*q; int num=-1;//保存学号 float hei=-1.0;//保存身高 int min=1;//计数,至少插入3个节点 printf("请输入学号(学号-1则退出输入):num="); scanf("%d",&num); fflush(stdin); printf("\t\t请输入身高:hei="); scanf("%f",&hei); printf("\n"); fflush(stdin); while(num!=-1 || min<=3) { if(H==NULL) { } else { q=(Node *)malloc(sizeof(Node)); q->num=num; p=(Node *)malloc(sizeof(Node)); p->num=num; p->height=hei; p->next=NULL; min++; //计数加一 H=p;

} q->height=hei; q->next=NULL; min++; p->next=q; p=p->next;

lab1: printf("请输入学号(学号-1则退出输入):num=");

}

/*************************** 删除节点 *************************/ /* 参数 H 为 表头节点 */ /* 参数 n 为 删除第几个节点 */ Link Delete(Link H,int n)

{ } return H; if(num==-1 && min<=3) { } if(num==-1 && min>3) //退出输入 break; printf("\n请至少输入3个节点\n\n"); goto lab1; //跳到 lab1 scanf("%d",&num); fflush(stdin); printf("\t\t请输入身高:hei="); scanf("%f",&hei); printf("\n"); fflush(stdin);

} int i=1; Node *p,*q; if(n==1) //删除的是第一个节点 { } p=H; while(p!=NULL) { } if(i==(n-1))//存在n-1个节点 { } else { } return H; printf("不存在第%d个节点!\n",n); q=p->next; p->next=q->next; free(q); //释放q节点 if(i==(n-1)) //删除节点的前一个节点 break; H=H->next; return H; p=p->next; i++;

/*************************获取节点 *****************************/ /* 参数 H 为 表头节点 */ /* 参数 n 为 第几个节点 */ Node *GetNode(Link H,int n)

{

int i=1; Node *p,*q; p=H; q=H; if(n==1) //取的是第一个节点 { } while(p!=NULL) { } if(i==(n-1))//存在n-1个节点 { } else { q=p->next; p->next=q->next; return q; if(i==(n-1))//删除节点的前一个节点 break; p=p->next; return p; p=p->next; i++;

} } printf("不存在第%d个节点!\n",n); return NULL;

/**************************** 排序*********************************/ /* 参数 H 为 表头节点 */

Link Sort(Link H)

{

Node *p,*q,*t; p=H; if(p->next==NULL)//链表只有一个节点 return H; t=(Node *)malloc(sizeof(Node)); q=p->next; while(p!=NULL) { while(q!=NULL) { } if (p->num > q->num)//按学号从小到大 { } q=q->next; t->num=p->num; t->height=p->height; p->num=q->num; p->height=q->height; q->num=t->num; q->height=t->height;

} } p=p->next; if(p!=NULL) q=p->next; return H;

/************************** 输出 *********************************/ /* 参数 H 为 表头节点 */

/* 参数 N 为 插入的节点节点 */

Link Insert(Link H,Node *N)

{

Node *p,*q; //q保存前一个节点 if(N->num < H->num) //插入在表头之前 { } p=H; q=H; while(p!=NULL) { if(N->num<=p->num) { } q=p; N->next=q->next; q->next=N; break; N->next=H; H=N; return H;

} } p=p->next; if(p==NULL) //插入在最后一个节点之后 { q->next=N; N->next=NULL; } return H;

/*********************** 输出 ********************/

/* 参数 H 为 表头节点 */ int print(Link H)

{

} Node *p; p=H; if(p==NULL) { } printf("\n\t学号\t\t身高\n"); while(p) { } return 0; printf("\t %d \t\t%f\n",p->num,p->height); p=p->next; printf("\n数据为空!!\n\n"); return 0;

完成情况:

(本部分详细描述运行结果情况,1)完成实验内容的要求;2)展示运行的结果。要求能够反映出算法的特点;要求穷举各种可能的结果、不能穷举的列出各种可能的分类情况;要求有文字说明和截图)

利用Visual C++ 6.0编译环境编辑程序,调试成功后进行运行程序。

第一, 创建第一个链表,以学号和身高作为一组数据,链表一共输入四组数据分别是:

【1,165】【2,166】【3,156】【4,177】.

第二, 输完数据后以-1结束链表一的创建,并开始创建第二个链表。

第三, 创建第一个链表,以学号和身高作为一组数据,链表共输入四组数据分别是:

【5,167】【6,166】【7,167】【8,165】.

第四, 输完数据后以-1结束链表二的创建,并确认输入结束,开始程序的结果输出。 第五, 输出结果如下图所示。

实验一链表操作实验报告2

实验一链表操作实验报告2

解决方案:

解决方案:

问题一解决方法:增加一个计数变量min,当min小于3时给出提示并跳会到lab1继续导入数据,代码如下: lab1: printf("请输入学号(学号-1则退出输入):num=");

问题二解决方法:用嵌套的while循环,采用选择排序发,将链表排序。代码如下:

while(p!=NULL) scanf("%d",&num); fflush(stdin); if(num==-1 && min<=3) { } if(num==-1 && min>3) //退出输入 break;//跳出while printf("\n请至少输入3个节点\n\n"); goto lab1; //跳到 lab1 { while(q!=NULL) { if (p->num > q->num)//按学号从小到大 { t->num=p->num; //交换数据 t->height=p->height; p->num=q->num; p->height=q->height; q->num=t->num; q->height=t->height; } q=q->next;

} } p=p->next; if(p!=NULL) q=p->next;

问题三解决方法:想要将链表一中的第二个结点移动到链表二适当的位置,则必须先取得链表一中的第二个结点。通过函数GetNode获取节点返回节点的地址。然后通过Insert将节点插入到链表二的适当位置 程序运行说明书

(本部分列出程序说明书,详细说明程序如何运行)

利用Visual C++ 6.0编译环境编辑程序,调试成功后进行运行程序。

1. 创建第一个链表,以学号和身高作为一组数据,链表一共输入四组数据分别是:

【1,165】【2,166】【3,156】【4,177】.

2. 输完数据后以-1结束链表一的创建,并开始创建第二个链表。

3. 创建第一个链表,以学号和身高作为一组数据,链表共输入四组数据分别是:

【5,167】【6,166】【7,167】【8,165】.

4. 输完数据后以-1结束链表二的创建,并确认输入结束,开始程序的结果输出。

更多相关推荐:
实验八 实验报告表

实验八实验报告表实验名称学号实验报告表81并行算法和串行算法实验数据表1120xx0421姓名宋丽班级020xx303实验时间1219实验报告表82分布式实验数据表实验报告表83虚拟计算实验数据表

实验报告格式模板-供参考

实验名称:粉体真密度的测定粉体真密度是粉体质量与其真体积之比值,其真体积不包括存在于粉体颗粒内部的封闭空洞。所以,测定粉体的真密度必须采用无孔材料。根据测定介质的不同,粉体真密度的主要测定方法可分为气体容积法和…

实验一 实验报告表

实验一实验报告表实验名称学号姓名班级实验时间实验报告表11图灵机模型中的主要组成部分及作用说明可根据需要加行实验报表12冯诺依曼计算机体系结构的功能描述实验报告表13实验所使用的计算机硬件配置登记表实验报告表1...

实验九 实验报告表

五实验报告学号姓名班级实验时间20xx年11月17日实验报告图像生成与图像处理一填写下载图像的相关数据二查看左侧的图像请填写相应的图像编码三计算机中实际存储的图像可能有数几百万像素为了减少图像存储的空间有一种游...

电子表格实验报告

深圳大学实验报告课程名称计算机基础1实验项目名称电子表格学院传播学院专业指导教师报告人彭可学号20xx080289班级实验时间20xx112实验报告提交时间教务处制4一实验目的了解并熟悉软件excel1掌握工作...

实验报告表格 - 副本

学生实验报告学院统计学院课程名称SAS软件专业班级会统核算姓名学号学生实验报告经管类专业用一实验目的及要求1目的2内容及要求二仪器用具运用系统聚类法进行聚类三实验方法与步骤1现有一个班级的全体学生的数学成绩如下...

实验十四 实验报告表

实验十四实验报告表实验名称数据管理与数据库操作实验报告表141数据库管理系统实验数据表实验报告表142虚拟数据库设计实验报告表143虚拟数据库查询1

实验十五 实验报告表

五实验报告学号姓名班级实验时间年月日实验报告用计算机解题算法一请画出实验内容1真假话问题计算机求解算法的流程图二假定一个数列中有n个杂乱无章的整数请你用流程图描述一下插入排序的算法1

北京理工大学 实验二 实验报告表

实验二实验报告表实验名称计算机中的数据表示与计算学号20xx216886姓名实验报告表21数值型数据在计算机中的二进制实验记录表唐玮班级计算机154班实验时间20xx年说明本实验对计算机内存数据的存放拟定为整数...

多表查询实验报告

数据库系统概论实验报告实验名称实验人实验地点实验日期多表查询一实验准备1硬件及软件环境要求为了使该实验顺利进行需要有一台计算机计算机必须安装Windows20xxWindowsXP或WindowsNT操作系统还...

实验报告3

数据库原理实验报告实验名称数据库DML语句操作实验专业网络工程班级12学号学生姓名指导老师20xx级网络工程班20xx10803009冯娟周朝萱数学与计算机学院年11月07日一实验目的数据库更新操作是SQL语句...

科学实验报告样本

科学实验报告样本,内容附图。

实验报告表(46篇)