課程名稱資料結構實驗成績
實驗專案串指導教師
學生姓名學號班級專業10電子本
實驗地點綜合樓實驗日期 2023年11月10日 _
一、實習目的
1. 熟悉串型別的實現方法,了解簡單文書處理的設計方法。
2. 熟悉c語言的字元和把字串處理的原理和方法。下面簡單介紹c相關知識:
(1) 字元:
char ch; ch是單個字元變數
ch=』aa』 是字元常量
(2)字串:
char s1[10],*s2,s3[2][10];
s1 是一維字元陣列,也稱它是字串變數;
s2 是指向字元的指標變數,可以給它分配一批單元存放字元,也稱為串;
s2=(char )malloc(sizeof(char)*10);
s3 是2行10列的二維字元陣列,一般看做含有2個字串的陣列s3[0],s3[1],每個串最多容10個字元;
下列賦值語句是錯誤的:
s1= 「abcdefghi」 ;
應該使用串拷貝函式:
strcpy(s1, 「abcdefghi」); strcoy( s2, 」abcdefghi」);
strcpy(s3[0], 」123456789」); strcpy(s3[1], 」jklmnopqr」) ;
用雙引號括起來的是字串常量,在處理字串常量時,注意總是有乙個字元『\0』作為字串常量的結尾 。」123456789」存入s3[0]要占用10個位置,而不是9個。s3[0][0]裡是1,……,s3[0][8]裡是9,s3[0][9]裡是『\0』(串尾標誌)。
(3)常見的字元函式:
int strlen(streing)
string 可以是串變數或常量, 函式結果是串長度(不含『\0』)。
strcpy( str ,str2 );
str是串變數,str2可以是串變數或常量。函式的作用是將str2的串拷貝給串變數str。 int strcmp( str1 ,str2 );
str1,str2可以是串變數或常量,函式的作用是將兩個串進行比較,
當 str1==str2,函式結果=0;
當 str1>str2, 函式結果》0;
當 str1 char *strcat( str1,str2);
str1,str2可以是串變數或常量,函式的作用是將兩個串進行連線,函式結果是連線後的新串。
二、例題中修改後的原程式**
#include <>
#include <>
#include<>
/* 函式宣告 */
int index(char *s, char *t,int pos);
void replace(char *s,char *t,char *v);
/* 主函式 */
void main()
/* main */
/* 串的置換,將主串s中的t串,置換為v串 */
void replace(char *s,char *t,char *v)
i=k-1;
for(j=0;j<=vl-1;j++)
}else
i=k-1;
for(j=0;j }
po=k+vl;
pol=sl-tl+1;
printf(" pos=%2d",po);
sl=strlen(s);s[sl]='\0'; //字串以'\0'結束,解決替換後無結尾
}} /* replace */
/* 串匹配函式 */
/* 從主串s的第pos個字元開始查詢子串t,函式結果是子串t在主串s的pos開始之後首次出現的位置 */
int index(char *s, char *t, int pos)
else
if(j>tl) return(i-tl);
else return(-1);
} /* index */
程式執行截圖如下
三、.實習題
1. 將上述例項打入計算機,除錯執行。
字串常量的提供有多種手段。可以在定義串型別同時初始化串值:
char t="abc",*v="%%%";
還可以使用語句gets(s)進行輸入;也可以用scanf("%s",s)進行輸入。請你試著用不同的方法修改、除錯、執行程式。
【源程式】:
#include <>
#include <>
#include<>
int index(char *s, char *t,int pos);
void replace(char *s,char *t,char *v);
void main() //主函式
end_main
/* 串的置換,將主串s中的t串,置換為v串 */
void replace(char *s,char *t,char *v)
po=k+tl;
printf(" pos=%2d",po);
}} /* replace */
/* 串匹配函式 */
/* 從主串s的第pos個字元開始查詢子串t,函式結果是子串t在主串s的pos開始之後首次出現的位置 */
int index(char *s, char *t, int pos)
{int i,j,sl,tl;
i=pos; j=1; sl=strlen(s); tl=strlen(t);
while(i<=sl && j<=tl)
資料結構實驗報告
實驗報告 實驗課程 資料結構 實驗專案實驗 專業 電腦科學與技術 姓名於凡 學號 10703070328 指導教師汪林林 實驗時間 2008 12 7 重慶工學院計算機學院 實驗一線性表 1.實驗要求 掌握資料結構中線性表的基本概念。熟練掌握線性表的基本操作 建立 插入 刪除 查詢 輸出 求長度及合...
資料結構實驗報告
實驗一線性表的基本操作 1 實驗目的2 2 實驗環境2 3 實驗內容,主要 除錯與執行 2 4 總結14 實驗二棧的基本操作 1 實驗目的15 2 實驗環境15 3 實驗內容,主要 除錯與執行 15 4 總結18 實驗三赫夫曼樹 1 實驗目的18 2 實驗環境18 3 實驗內容,主要 除錯與執行 1...
資料結構實驗報告
實驗題目 計算機與通訊工程學院 2014 實驗一線性表的應用 實驗目的 1 掌握線性表的邏輯結構定義 2 掌握線性表的兩種儲存結構 順序和鏈式 3 掌握順序表和煉表的定義及基本操作 實驗內容 通過程式設計完成具有一定實際意義的課題,加深對線性表應用的理解和掌握。參考題目如下所示。學生可在完成以下題目...