/**
* 实验题目:
* 实现顺序串各种基本运算的算法
* 实验内容:
* 编写程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序完成如下功能:
* (1)建立串s="abcdefghefghijklmn"和串s1="xyz"
* (2)输出串s
* (3)输出串s的长度
* (4)在串s的第9个字符位置插入串s1而产生串s2
* (5)输出串s2
* (6)删除串s第2个字符开始的3个字符而产生串s2
* (7)输出串s2
* (8)将串s第2个字符开始的3个字符替换成串s1而产生串s2
* (9)输出串s2
* (10)提取串s的第2个字符开始的10个字符而产生串s3
* (11)输出串s3
* (12)将串s1和串s2连接起来而产生串s4
* (13)输出串s4
*/
#include <stdio.h>
#define MaxSize 100 // 最多的字符个数
typedef struct
{
char data[MaxSize]; // 定义可容纳MaxSize个字符的空间
int length; // 标记当前实际串长
}SqString;
/*---------------------------由串常量cstr创建串str-------------------------------*/
void StrAssign(SqString &str, char cstr[])
{
int i;
for(i = 0; cstr[i] != '\0'; i++)
str.data[i] = cstr[i];
str.length = i;
}
/*---------------------------将串t复制到串s-------------------------------*/
void StrCopy(SqString &s, SqString t)
{
int i;
for(i = 0; i < t.length; i++)
s.data[i] = t.data[i];
s.length = t.length;
}
/*---------------------------判断两个串s和t是否相同-------------------------------*/
int StrEqual(SqString s, SqString t)
{
int i;
int same = 1;
if(s.length != t.length) &