ca *DelStr(ca *L) {
ca *H = L;
char s[80], *q;
ca *p;
cout<<"输入该子串: ";
cin>>s;
if (H->c == *s) {
for (p = H->next, q = s+1; *q != '\0' && p->next; p = p->next, q++)
if (p->c != *q) break;
if (*q == '\0') H = p;
}
while(L->next) {
for (p = L->next, q = s; *q != '\0' && p->next; p = p->next, q++)
if (p->c != *q) break;
if (*q == '\0') L->next = p;
else L = L->next;
}
return H;
}
void print1(ca *L) {
while(L->next) {
cout<
c;
L = L->next;
}
cout<next; L = L->next, n++)
if(isalpha(L->c)) p1++;
else if(isdigit(L->c)) p2++;
else if(L->c == ' ') p3++;
else if(L->c == '\n') n--;
cout<<"\n 全部字母数: "<void main() {
ca *L = new ca;
int p1, p2, p3, n, c;
InitList(L);
do {cout<<"\n0:退出\n"
"1:统计中英文字母和空格数以及整篇文章总字数\n"
"2:统计某一字符串在文章中出现次数\n"
"3:删除某一子串\n"
"4:分行输出用户输入的各行字符\n";
cin>>c;
switch(c) {
case 1:print2(L, p1, p2, p3, n);break;
case 2:StrNo(L);break;
case 3:DelStr(L);
case 4:print1(L);
}
}while(c);
}