好文档 - 专业文书写作范文服务资料分享网站

[11]实验指导手册范本

天下 分享 时间: 加入收藏 我要投稿 点赞

实验8:顺序串的基本操作

一、实验目的

1)熟悉串的定义和串的基本操作。 2)掌握顺序串的基本运算。

3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。

二、实验环境

装有Visual C++6.0的计算机。 本次实验共计2学时。

三、实验容

编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。具体如下:

编写栈的基本操作函数

顺序串类型定义如下所示: typedef struct {

char ch[MAXSIZE]; int len; } SeqString;

(1)串赋值 Assign(s,t)

? 将一个字符串常量赋给串s,即生成一个其值等于t的串s

(2)串复制 StrCopy(s,t)

? 将串t赋给串s

(3)计算串长度 StrLength(s)

? 返回串s中字符个数

(4)判断串相等StrEqual(s,t)

? 若两个串s与t相等则返回1;否则返回0。

(5)串连接 Concat(s,t)

? 返回由两个串s和t连接在一起形成的新串。

(6)求子串 SubStr(s,i,j)

? 返回串s中从第i(1≤i≤StrLength(s))个字符开始的、由连续j个字符组成的

子串。

(7)插入InsStr (s,i,t)

? 将串t插入到串s的第i(1≤i≤StrLength(s)+1)个字符中,即将t的第一个字符

作为s的第i个字符,并返回产生的新串

(8)串删除 DelStr (s,i,j)

? 从串s中删去从第i(1≤i≤StrLength(s))个字符开始的长度为j的子串,并返回

产生的新串。

(9)串替换 RepStr (s,s1,s2)

? 在串s中,将所有出现的子串s1均替换成s2。

(10)输出串DispStr(s)

? 输出串s的所有元素值

(11)判断串是否为空 IsEmpty(s)

编写主函数

调用上述函数实现下列操作:

(1) 建立串s=“abcdefghijklmn”,串s1=“xyz”,串t=“hijk” (2) 复制串t到t1,并输出t1的长度

(3) 在串s的第9个字符位置插入串s1而产生串s2,并输出s2 (4) 删除s第2个字符开始的5个字符而产生串s3,并输出s3

(5) 将串s第2个字符开始的3个字符替换成串s1而产生串s4,并输出s4 (6) 提取串s的第8个字符开始的4个字符而产生串s5,并输出s5 (7) 将串s1和串t连接起来而产生串s6,并输出s6 (8) 比较串s1和s5是否相等,输出结果

实验9:矩阵的基本操作

一、实验目的

1)熟悉数组、矩阵的定义和基本操作。

2)掌握对称矩阵、稀疏矩阵等特殊矩阵的存储方式和基本运算。 3)加深对数组、矩阵的理解,逐步培养解决实际问题的编程能力。

二、实验环境

装有Visual C++6.0的计算机。 本次实验共计2学时。

三、实验容

以下两个实验任选一个。

1、实现稀疏矩阵的转置、求和

假设m×n的稀疏矩阵用三元组表示,编写一个程序实现如下功能: (1) 生成如下两个稀疏矩阵的三元组a和b,并输出三元组表示。

1 0 3 0 0 1 0 0 0 0 1 0 0 0 1 0 3 0 0 0 0 4 0 0 0 0 1 0 0 0 0 2

提示:程序中可以用int A[4][4]和B[4][4]二维数组表示原始矩阵A和B。

(2) 输出a的转置矩阵的三元组表示。 (3) 设c=a+b,输出c的三元组表示。

2、求对称矩阵之和、乘积

已知A和B为两个n×n阶的对称矩阵,编写一个程序实现:

(1) 将其下三角元素存储在一维数组a和b中,并输出。

1 1 2 4 1 2 3 5 2 3 4 6 4 5 6 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

提示:程序中可以用int A[4][4]和B[4][4]二维数组表示原始矩阵A和B。 (2) 设C=A+B,以矩阵方式输出C。 (3) 设D=A×B,以矩阵方式输出D。

实验10:字符串综合实验

一、实验目的

1)熟悉串的定义和串的基本操作。

2)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。

二、实验环境

装有Visual C++6.0的计算机。 本次实验共计4学时。

三、实验容

以下两个实验任选一个。

1、凯撒加密算法

凯撒密码(caeser)是罗马扩时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。

他的原理很简单,说到底就是字母与字母之间的替换。每一个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,······x加密后变成a,y加密后变成b,z加密后变成c。

例如:“baidu”用凯撒密码法加密后字符串变为“edlgx”。

试写一个算法,将键盘输入的文本字符串(只包含a~z的字符)进行加密后输出。 另写一个算法,将已加密后的字符串解密后输出。

提示:

? 如果有字符变量c加密后则=’a’+(c-‘a’+3)%26

? 采用顺序结构存储串,键盘输入字符串后保存到顺序串中;输出用顺序串的输出函数。

2、求一个串中出现的第一个最长重复子串

采用顺序结构存储串,编写一个程序,求串s中出现的第一个最长重复子串的下标和长度。

[11]实验指导手册范本

实验8:顺序串的基本操作一、实验目的1)熟悉串的定义和串的基本操作。2)掌握顺序串的基本运算。3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。二、实验环境装有VisualC++6.0的计算机。本次实验共计2学时。三、实验容编写一个程序,实现顺序串的各种基本运算,并
推荐度:
点击下载文档文档为doc格式
9y3tw1hed2667gj1yjqg01k8300x4z01cm7
领取福利

微信扫码领取福利

微信扫码分享