-
大小: 7KB文件类型: .c金币: 1下载: 0 次发布日期: 2021-01-04
- 标签: 串运算
资源简介
一、 实验目的
掌握串的基本处理操作和几种不同的存储结构(定长顺序存储表示、堆分配存储表示和块链存储表示)。
二、 实验要求
1、 实现串赋值、串比较、求串长、串联接以及求子串这5种基本操作。
2、 能利用上述实现的基本操作完成置换Replace (&S, T, V)以及从串中删除一段子串StrDelete(&S,pos,len)的操作。
3、 以上要求实现的操作不能直接使用C语言提供的函数(gets(),puts()除外)完成。
4、 所写源代码编程风格良好,有详细注释。
5、 程序运行界面良好,使用菜单实现每个基本操作。
代码片段和文件信息
//试验四:串运算
#include “stdlib.h“
#include “stdio.h“
#define MAXSIZE 30
//定义串结构
struct HString{
char *ch;
int length;
}HString;
//生成一个其值等于串常量 chars的串hs
int StrAssign(struct HString *hschar chars[20]){
int i;
char *c;
if(hs->ch) free(hs->ch); //释放hs原有空间
for(i=0c=chars;*c!=‘\0‘;++i++c); //求chars的长度
if(i==0) {
hs->ch=NULL;hs->length=0;
}
else{
hs->ch=(char *)malloc(i*sizeof(char));
if(!hs->ch) { //分配失败
printf(“This failed“);
return 0;
}
hs->length=i;
for(i=0;ilength;i++) //赋值串
hs->ch[i]=chars[i];
}
return 1;
}
//返回串长
int StrLength(struct HString hs){
return hs.length;
}
//用hs返回由s1和s2联结而成的新串,若失败则返回false
int Concat(struct HString *hsstruct HString s1struct HString s2){
int ij
- 上一篇:磁盘调度算法C语言
- 下一篇:网络聊天室客户端服务器源代码
评论
共有 条评论