下载此文档

数据结构实验讲义.ppt


文档分类:IT计算机 | 页数:约48页 举报非法文档有奖
1/48
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/48 下载此文档
文档列表 文档介绍
数据结构实验讲义
主讲人:陈媛
联系方式:
办公地点:实验楼6楼
电话:办:68668334
家:68821957
电子邮件:******@cqit.
实验一 C语言复****br/>教学目的与要求
本实验的目的是帮助大家复****C语言的使用方法,特别是指针、结构体的内容,同时也为以后的各个实验做准备
教学的重点与难点
指针、结构体、数组三种数据类型的混合使用
实验预****检查内容
指针指向数组后,数组元素的访问有哪些形式?
在下列类型定义后,表达式a[3].num的逻辑含义是什么?类型是什么?
struct student
{long num;
float score;
struct student *next;
}a[5];
答:3号元素的num数据域
long类型
例题
#define NULL 0
struct student
{long num;
float score;
struct student *next;
};
main ()
{ struct student a,b,c,*head,*p;
=99101;=;
=99103;=90;
=99107;=85;
//a 、b、 c变量赋值
head=&a;
=&b;//a的后续为b
=&c;
=NULL;
p=head;
do
{printf(“%ld%\n”,p->num,p->score );/*输出学号和成绩*/
p=p->next;
}while( );
}
答:p!=NULL
9、设计一个可进行复数运算的演示程序。要求:实现下列六种基本运算:1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。运算结果以相应的复数或实数的表示形式显示。
10、设计一个可进行有理数运算的演示程序。要求:实现两个有理数相加、相减、相乘以及求分子或求分母的运算。
实验内容及要求
有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据。
要求:用input函数输入10个学生数据,用average 函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。
实验内容及要求
讨论
指出下列程序段的错误:
struct student
{long num;
float score;
struct student *next;
}a,b,c,*p;
=&b;
=&c;
p=a;
while (p)
{printf(“%ld%”,p->num,p->score);
P++;
}
答:
增加:=NULL;
p=a; =>P=&a;
P++; =>P=p->next;
第二讲线性表
教学目的与要求
掌握数据结构中表的基本概念。
熟练掌握线性表的基本操作,插入、删除、查找等运算在顺序存储结构和链接存储结构上的实现。
熟练掌握链表的各种操作和应用。
教学的重点与难点
线性表的基本操作在链接存储结构上的实现。
实验预****检查内容
完成下列程序,指出main的结构
#include <>
#define MaxLen 50
typedef int elemtype;
struct datatype
{elemtype *elem;
int length;
}
typedef struct datatype sqlist ;
void create (sqlist *a)
{
int i,n;
a->elem=(elemtype *)malloc(MaxLen*sizeof(elemtype));
printf(“创建一个顺序表\n”);
printf(“输入元素个数:”);
scanf(“%d",&a->length);
for (i=0;i<a->length;i++)
{
printf(“输入第%d个元素值:”,i);
scanf(“%d",a->elem+i);
}
}

数据结构实验讲义 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数48
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11