当前位置:文档之家› 《软件技术基础》上机实验安排

《软件技术基础》上机实验安排

《软件技术基础》上机实验安排
一、实验教学计划
第4-8周,每周周二晚,6:30 - 9:30, 科1B-453,457,459 二、实验内容安排
实验一:指针和结构体部分
1、从键盘上输入10个整数,将其中最小的数与第一个数交
换,把最大的数与最后一个数交换,并将交换之后的序列
打印出来。

(提示:用指针实现,参考教材习题10.3)
2、要求在主函数输入一串文字,并编写一个函数计算该文字
串中的大写字母,小写字母,数字以及其它字符的个数,
并在主函数中将文字串和以上计算结果打印出来。

参考教
材习题10.8。

3、已知一个班有10名同学英语考试成绩为{88,76, 83,
92,96,80,62,85,74,87},平时成绩为{4,3,4,2, 3,3,4,2,3,4},主
函数中用C的指针分配函数:malloc()分配两块连续的存
储单元存放以上的考试成绩和平时成绩,用一个函数计
算该班同学的考试平均成绩和各同学的最终成绩(考试
成绩+平时成绩),在主函数中将以上计算结果打印出来。

注意:本题选作。

4、编写一个函数input,输入学生的成绩,包含3个学生的
数据即学号(num),姓名(name)和三科成绩score[3]。

再编写一个函数print ,打印学生的信息。

编写一个主函数实现学生成绩的输入和输出。

实验二、顺序表的相关操作
1、 有序的一组整数,1-2-3-4-6-5-9-19设计顺序表并实现以
下操作:A.初始化线性表;B.添加上述一组数;C.删除第四个数据元素; D.显示B,C 操作后的结果。

2、 教材P74页,习题9。

3、 图书资料管理问题,设一本书有编号、书名、作者、价
格等信息,如下表
设计顺序表并实现以下操作;A、初始化线性表;B 、添加表1中的记录;C 、删除第三条记录。

本题选作。

提示:图书资料的数据的C 语言描述
typedef struct
{ long int num;
char name[50];
char author[20];
float price;
} bookinfo;
设计的顺序表点C 语言描述 23.00 zhao delphi 4 18.00
wang
C
3 20.00 li VB 2 15.00 zhang Basic 1 价格
作者 书名 编号
typedef struct
{ bookinfo data[MAXNUM];
int num;
} listtype;
实验三、单链表的相关操作
1、现有有序的一组整数的集合:1-2-2-3-4-6-6。

设计单链表,
分别编写函数实现以下操作:A.初始化链表。

B.添加上述一组数(结点),生成该链表。

C.统计该链表的长度。

D.在表中查找数据为3和7的结点,并返回其位置(若找不到返回-1)。

E.删除中间重复结点,使链表变为1-2-3-4-6。

F.显示经B,E操作后,链表的状况。

2、教材P74,习题10,选作。

实验四、查找相关操作
1、教材P76,习题26,要求采用二分查找的方法,编程实现。

2、要求创建一个单链表,表中的元素为{55,3,2,96,42,
67,111,15},并以顺序查找的方法,编程实现查找其中
的某一个元素,查找成功返回该元素,失败返回一个错误
的标志。

实验五、排序的相关操作
1、对教材P77,习题28给出的关键字序列,以简单插入排
序方法,编程实现其排序。

2、对教材P77,习题28给出的关键字序列,以简单选择排
序方法,编程实现其排序。

对教材P67,习题28给出的
关键字序列,以冒泡排序方法,编程实现其排序。

三、实验报告
提交实验二,三,四的报告。

相关主题