文章编辑课程设计报告 一、需求分析 我们编此程序 为了便于统计文章中的字数,标点数,以及数字的个数,因此它的功能要求也就应该包含这些。主要的是如下几点: 1)分别统计出其中英文字母数和空格数以及整篇文章的总字数。 2)统计某一字符串在文章中出现的次数,并输出该次数。 3)删除某一子串,并将后面的字符前移。 在这里,我们要求储存结构为线性表结构,可以输入大小写的英文字母,任何数字和标点符号。输出的时候要分行输出用户输入的各行字符,分四行输出“全部字符数”“数字的个数”“空格个数”“文章总字树”以及输出删除某一字符串后的文章。 二、概要设计 1、存储结构 此模块使用静态的字符数组作为存储结构,定义如下: char wz[N][80]; /* 存储文章的字符数组 ,为全局变量*/ 2、算法设计说明 此模块主要有三个算法: (1)、统计字符个数算法流程图 (2)、查找某一字符串出现的次数算法流程图 i=0 n=0 i=N j=0 len=strlen(wz[i]) j=len if(wz[i][j]>=n1&& wz[i][j]<=n2) n++ j++ i++ return n 算法结束 (3)、删除某一字符串算法流程图 i=0 n=0 i=N c=strstr(wz[i],s) c!=0 c=0 leni=strlen(wz[i]); lenc=strlen(c); p=leni-lenc return n 算法结束 for(k=1;k<=lens;k++) {for(j=p;j<=leni;j++) wz[i][j]=wz[i][j+1]; leni=strlen(wz[i]) wz[i][j-1]='\0'; leni=strlen(wz[i]);} c=strstr(wz[i],s); i=0 n=0 i=N c=strstr(wz[i],s) c!=0 c=0 c=strstr(c+lens,s) n++ i++ return n 算法结束 i++ 三、详细设计: #include #include #define N 20 /* 文章的行数 */ char wz[N][80]; /* 存储文章的字符数组 ,为全局变量*/ /*输入函数*/ void readdat() {FILE *fp; int i,j,len; char *str; if(!(fp=fopen("E:/yy/wzin.dat","r+")))/*打开文件*/ printf("The file can't found!\n"); for(i=0;i=n1&&wz[i][j]<=n2)/*wz[i][j]的 ASC 码在 n1 与...