• 大小: 880KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: C/C++
  • 标签: 文章编辑  

资源简介

核心算法采用比较先进的kmp算法,代码完全出自自己的努力。你要是感兴趣,就请给点儿辛苦费吧! 另外,补充一点儿,功能也比较全面

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define N 100
int nextval[N];//存储nextval的值
int place[N];
int OverlayValue[N];
int num[4]={0};//num[0]代表空格 num[1]代表字母 num[2]代表数字 num[3]代表单词个数

typedef struct text//
{
char sline[90];
struct text *next;
}TEXT;

bool isAlphabet(char &t);//如果字符是字母就返回真
bool isDigit(char &t);//如果是数字就返回真
bool isSpace(char &t);//是空格就返回真
int wordnum(char *t);//统计某一行的单词数量
void GetNextval(char const *ptr int plenint *nextval);//求nextval
int kmp1(char const *scrint slenchar const *ptrint plenint const *nextvalint pos);//求字符串中模式串的个数
int search(char const *scrchar const *ptr);///在主串中找到字串的位置,没有返回零
bool delet(char const *scrchar const *ptr);//删除指定的字串。
bool readtext(TEXT *headint n);//读入文章
void release(TEXT *head);//释放节点
void OutputText(TEXT *head);//在屏幕上输出文字
int countword(TEXT *headchar const *ptr);//统计文章中某个单词的个数
void countother(TEXT *head);//统计文章中的空格,字母,数字和单词的个数
int deltext(TEXT *headchar const *ptrint *OverlayValue);//删除文章中的指定单词
void OverlayFun(char const *ptrint *OverlayValue);//覆盖函数

int main()
{
TEXT *head;
head=(TEXT *)malloc(sizeof(TEXT));
if(head==NULL)
{
printf(“内存分配失败\n“);
return -1;
}
printf(“请输入你要写入的文章的行数: “);
int n;
scanf(“%d“&n);
getchar();
readtext(headn);

printf(“请输入你要查找的单词: “);
char t[80];
scanf(“%s“t);
GetNextval(tstrlen(t)nextval);
int thewordnum=countword(headt);

countother(head);
printf(“你查找的单词在文章中的个数是:%d\n“thewordnum);
printf(“文章中空格的个数:%d\n字母的个数:%d\n数字的个数:%d\n单词的个数:%d\n“num[0]num[1]num[2]num[3]);

char inputtag=‘Y‘;
while(inputtag==‘y‘ ||inputtag ==‘Y‘)
{
    printf(“请输入你要删除的单词:“);
char thedel[80];
scanf(“%s“thedel);
//if(!=0 )
// {
    deltext(headthedelOverlayValue);
printf(“输出删除后的文章\n“);
    OutputText(head);
printf(“继续删除单词请按y :  “);
char x;
         scanf(“ %c“&x);
inputtag=x;
// }
// else
// {
// printf(“文章中没有你要删除的单词!\n重新删除请按y“);
// char x;
// scanf(“ %c“&x);
// inputtag=x;
// }

}
release(head);
return 0;
}
bool isAlphabet(char &t)//如果字符是字母就返回真
{
if(t>=‘a‘&&t<=‘z‘ || t>=‘A‘&&t<=‘Z‘)
return true;
else return false;
}
bool isDigit(char &t)//如果是数字就返回真
{
if(t>=‘0‘ && t<=‘9‘)
return true;
else return false;
}
bool isSpace(char &t)//是空格就返回真
{
if(t==‘ ‘)
return true;
else return false;
}
int wordnum(char *t)//统计字符串中的单词个数
{
int i;
bool tag=false;
bool is=false;
int wordnum=0;
for(i=0;i {
if(t[i]==‘ ‘ && !tag)//忽略字符串开头的空格字符
continue;
else tag=true;

if(t[i]>=‘a‘ && t[i]<=‘z‘ || t[i]>=‘A‘ && t[i]<=‘Z‘)
{
is=true;
}
else if((t[i]==‘ ‘ || t[i]==‘‘ || t[i]==‘.‘ || t[i]==‘\n‘|| t[i]==‘\0‘ || t[i]==‘?‘ || t[i]==‘!‘)  && is)//is为true代表在遇到空格或其他分隔符之前遇到字母
{
wordnum++;is=false;
}
}
if(is)wordnum++;
return wordnum;
}

void GetNextval(char const *ptr int plenint *nextval)//求nextval
{
int i=0;
nextval[0]=-1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     725971  2013-07-17 10:42  任师锋-201107063-文章编辑\任师锋-201107063-文章编辑.docx

     文件     188463  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\Debug\text.exe

     文件     194632  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\Debug\text.ilk

     文件      17897  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\Debug\text.obj

     文件     216072  2013-07-09 15:40  任师锋-201107063-文章编辑\文章编辑\Debug\text.pch

     文件     451584  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\Debug\text.pdb

     文件      41984  2013-07-17 10:12  任师锋-201107063-文章编辑\文章编辑\Debug\vc60.idb

     文件      53248  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\Debug\vc60.pdb

     文件       6599  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\text.cpp

     文件       3377  2013-07-17 08:15  任师锋-201107063-文章编辑\文章编辑\text.dsp

     文件        533  2013-07-17 10:46  任师锋-201107063-文章编辑\文章编辑\text.dsw

     文件      41984  2013-07-17 10:46  任师锋-201107063-文章编辑\文章编辑\text.ncb

     文件      48640  2013-07-17 10:46  任师锋-201107063-文章编辑\文章编辑\text.opt

     文件       1259  2013-07-17 10:10  任师锋-201107063-文章编辑\文章编辑\text.plg

     文件         77  2013-07-17 20:47  任师锋-201107063-文章编辑\说明.txt

     目录          0  2013-07-17 10:48  任师锋-201107063-文章编辑\文章编辑\Debug

     目录          0  2013-07-17 10:48  任师锋-201107063-文章编辑\文章编辑

     目录          0  2013-07-17 10:53  任师锋-201107063-文章编辑

----------- ---------  ---------- -----  ----

              1992320                    18


评论

共有 条评论