数据结构 文章编辑程序的设计(2)

2019-08-17 13:47

do

{

Lenght=strlen(p->line); //计算当前 line 里的数据元素的个数 for(int i=0;iline[i]==32) co++; //计算空格数,空格ASCII码为32 } while((p=p->next)!=NULL); //遍历 链表 return co; }

int CountAll(ESS * h)//统计文章字数 {

ESS *p=h; //保存链表的首地址 int co=0;

do //计算总字符数 { co+=strlen(p->line); }

while((p=p->next)!=NULL); //遍历 链表 return co; }

int Find(ESS * h,char *s)//统计s出现次数 {

ESS *p=h; int co=0;

int len1=0; /*保存当前行的总字符数*/ int len2=strlen(s); /*待统计字符串的长度*/ int i,j,q; do { len1=strlen(p->line); /*当前行的字符数*/ for(i=0;iline[i]==s[0]) { q=0;

for(j=0;j

if(p->line[j+i]==s[j]) q++; if(q==len2) {co++;i=i+q-1;} } } }

- 6 -

while((p=p->next)!=NULL); /*遍历 链表*/ return co; }

void delstring(char *s,char *str)

/* *s为输入的字符串,*str为将要删除的字符*/ { char *p=strstr(s,str); /*从字符串s中寻找str第一次出现的位置*/ char m[80]; int len=strlen(s);

int i=len-strlen(p);//比较两串字符串之间的字符个数 int j=i+strlen(str); int co=0;

for(int k=0;k

strcpy(s,m); /*返回新的字符串*/ }

void DelString(ESS * h,char *str) {

ESS *p=h; do {

if(strstr(p->line,str)!=NULL) delstring(p->line,str);//调用删除每个字符串,只删一次。 } while((p=p->next)!=NULL); }

void Out(ESS * &h)// {

ESS *p=h; do { printf(\显示字符串 } while((p=p->next)!=NULL); /*遍历 链表*/ }

void display() { printf(\

- 7 -

printf(\ printf(\ printf(\统计数字******************\\n\ printf(\统计字母******************\\n\ printf(\统计空格******************\\n\ printf(\统计文章总字数************\\n\ printf(\统计重复字符串************\\n\ printf(\统计重复出现字符串********\\n\ printf(\删除功能******************\\n\ printf(\ printf(\

}//构造一个良好的界面良好的界面

主函数的设计: int main() { ESS *h; create(h); display(); Out(h); printf(\

printf(\数字个数:%d \\n\ printf(\全部字母数:%d \\n\ printf(\中文字数:%d \\n\ printf(\空格个数: %d \\n\ printf(\文章总字数(含空格): %d \\n\ printf(\文章总字数(不含空格): %d \\n\ char s1[20],s2[20]; printf(\ printf(\请输入要统计的字符串:\ scanf(\ printf(\出现的次数为:%d \\n\ printf(\ printf(\请输入要删除的某一字符串:\ scanf(\ DelString(h,s2); printf(\删除%s后的文章为:\\n\ Out(h); //调用删除函数后的显示

Return 0; }

- 8 -

3.测试分析

输入:

输出及其他操作:

- 9 -

4.用户说明

根据界面提示即可完成所有操作。

5.经验和体会

在这次课程设计中,我有将书本重新过了一边,不但巩固了以前就会的知识,还弥补了从前的空缺,学到了许多从前没有注意的知识。 在实践的过程中,遇到了许多问题,我查阅了许多资料,请教了一些朋友对于编程中应注意的问题又有了新的认识,我知道了许多书上没有的经验和教训。

通过进行这次课程设计,我对数据结构又有了更加深刻的认识,使我以后学习更加轻松,对于编程更又信心!!

6.附录——程序完整原代码

#include #include #include typedef struct essay { char *line;//动态分配的字符数组 struct essay *next;//结构体指针 }ESS;

//创建结构体,行与行之间用链表的形式

void create(ESS * &h)//创造链表 {

char m[1000]; ESS *p;

- 10 -


数据结构 文章编辑程序的设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高压电器及成套配电装置习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: