-
大小: 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語言
- 下一篇:網絡聊天室客戶端服務器源代碼
評論
共有 條評論