还剩1页未读,继续阅读
文本内容:
功能输入一页文字,程序可以统计出文字、数字、空格的个数.静态储存一页文章,每行最多不超过个字符,共行;要求分别统计出其中英文字母和80N1空格数以及整篇文章总字数;统计某一字符串在文章中出现次数,并输出该次数;删除23某一子串,并将后面的字符前移.存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围可以输入大写、小写的英文字母、任何数字及标点符号.输出形式分行输出用户输入的各行字符;分行输出”全部字母数”、”数字个数,,、,,124空格个数,,、,,文章总字数输出删除某一字符串后的文章.3#includeiostream.h#includestdio.h#includectype.hstruct ca{char c;ca*next;};void lnitListca*L{coutvv”输入一页文字以#结束n«endl;whileL-c=getchar!=#{L-next=new ca;L=L-next;}L-next=NULL;}void StrNoca*L{int n=0;char s
[80],*q;ca*p;输入一字符串”;COUtvv”cin»s;whileL-next{for p=L,q=s;*q!=*\0p-next;p=p-next,q++if p-c!=*q break;if*q==\0n++;L=L-next;};coukv”字符串H«s«H出现n«n«M次\n}ca*DelStrca*L{ca*H=L;char s
[80],*q;ca*p;输入该子串:;coutvv”cin»s;if H-c==*s{for p=H-next,q=s+1;*q!=\0p-next;p=p-next,q++if p-c!=*q break;if*q==\0H=p;}whileL-next{for p=L-next,q=s;*q!=*\0p-next;p=p-next,q++if p-c!=*q break;if*q==\0L-next=p;else L=L-next;return H;void print1ca*L{whileL-next{cout«L-c;L=L-next;cout«endl;}void print2ca*L,int p1,int p2,int p3,int n{n=p1=p2=p3=0;for;L-next;L=L-next,n++ifisalphaL-c p1++;else ifisdigitL-c p2++;else ifL-c==p3++;else ifL-c==\n n-;cout«H\n全部字母数H«p1;cout«\n数字个数n«p2;cout«M\n空格个数:n«p3;coutvv”\n文章总字数:n«n«endl;void main{ca*L=new ca;int p1,p2,p3,n,c;InitListL;退出do{coutvv\nO:\n统计中英文字母和空格数以及整篇文章总字数”1:\n”统计某一字符串在文章中出现次数”2:\n”删除某一子串“3:\n;分行输出用户输入的各行字符”4:\n”cin»c;switchc{case1:print2L,p1,p2,p3,n;break;case2:StrNoL;break;case3:DelStrL;case4:print1L;}}whilec;}。