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

数据结构课程设计-字符串操作

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

scanf(\ fp=fopen(fname,\

yn='n';//输入结束标志初值 while(yn=='n'||yn=='N')

{printf(\请输入一行文本:\gets(S.ch);gets(S.ch); S.length=strlen(S.ch); fwrite(&S,S.length,1,fp); fprintf(fp,\

printf(\结束输入吗?y or n :\ fclose(fp);//关闭文件 printf(\建立文件结束!\ }

void SubStrCount()

{char a[7]={',','.',';','!','?',' ','\\n'}; FILE *fp;

SString S,T;//定义两个串变量 char fname[10]; int i=0,j,k;

printf(\输入文本文件名:\ scanf(\ fp=fopen(fname,\

printf(\输入要统计计数的单词:\ scanf(\

T.length=strlen(T.ch);

while(!feof(fp)){ //扫描整个文本文件 memset(S.ch,'\\0',256);

fgets(S.ch,256,fp); //读入一行文本 S.length=strlen(S.ch); k=0; //初始化开始检索位置

while(k

{ if(match(a,7,S.ch[T.length])) i++;//单词计数器加1

k=j+T.length;//继续下一字串的检索 }

else {if(match(a,7,S.ch[j-1])&&match(a,7,S.ch[j+T.length])) i++;//单词计数器加1

k=j+T.length;//继续下一字串的检索 } } }

printf(\单词%s在文本文件%s中共出现%d次\\n\}//统计单词出现的个数 void SubStrInd()

{char a[7]={',','.',';','!','?',' ','\\n'}; FILE *fp;

SString S,T; char fname[10]; int i,j,k,l,m; int wz[20];

printf(\输入文本文件名:\scanf(\fp=fopen(fname,\

printf(\输入要检索的单词:\scanf(\

T.length=strlen(T.ch); l=0;

while(!feof(fp)) { memset(S.ch,'\\0',256); fgets(S.ch,256,fp); S.length=strlen(S.ch); l++; k=0; i=0;

while(k

if(match(a,7,S.ch[T.length])) {i++;

wz[i]=j;}

k=j+T.length; } else

{if(match(a,7,S.ch[j-1])&&match(a,7,S.ch[j+T.length])) {i++;wz[i]=j;} k=j+T.length; } }

if(i>0){

printf(\行号:%d,次数:%d,位置分别为:\for(m=1;m<=i;m++)

printf(\} }

}//检索单词出现在文本文件中的行号、次数及其位置 main()

{SString S, T,M; int xz,wz;

int next[MaxStrSize];

char a[MaxStrSize],b[MaxStrSize]; do {printf(\

printf(\printf(\printf(\穷举法,KMP算法和BF算法 *\\n\printf(\字符串的加密与解密 *\\n\printf(\建立文本文件 *\\n\printf(\单词字串的计数 *\\n\printf(\单词字串的定位 *\\n\printf(\退出整个程序 *\\n\printf(\请选择(0--5)\scanf(\switch(xz) { case 1 :

printf(\请输入主串S:\gets(a); gets(a);

printf(\请输入模式串T:\gets(b);

InitString(&S,a); InitString(&T,b);

printf(\主串S:\printf(\模式串T:\

printf(\请输入开始匹配的下标:\scanf(\

printf(\穷举法匹配位置:%d\printf(\算法匹配位置:%d\get_next(T, next);

printf(\算法匹配位置:%d\break; case 2 :

printf(\请输入串S:\gets(a); gets(a); InitString(&S,a);

printf(\原字符串S:\Encrypt(S,&T);

printf(\加密后串T:\ Decrypt(T,&M);

printf(\解密后串M:\ break;

case 3 : CreatTextFile();break; case 4 : SubStrCount();break; case 5 : SubStrInd();break; case 0 : return 0;

default:printf(\选择错误,重新选 \\n\ } }while(1); }

八、测试情况

程序的测试结果如下:

九、参考文献

1、严蔚敏,《数据结构 C语言》,清华大学出版社。 2、谭浩强,《c语言程序设计》,清华大学出版社。

数据结构课程设计-字符串操作

scanf(\fp=fopen(fname,\yn='n';//输入结束标志初值while(yn=='n'||yn=='N'){printf(\请输入一行文本:\gets(S.ch);gets(S.ch);S.length=strlen(S.ch);fwrite(&S,S.length,1,fp);fprintf(fp,\<
推荐度:
点击下载文档文档为doc格式
47e7q5u4az83hrs8bv9u
领取福利

微信扫码领取福利

微信扫码分享