酒糟鼻初期图片:求数据结构 文章编辑**的源程序(用C语言编写)

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 00:22:04
文章编辑**
功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;
要求:1)分别统计出其中英文字母数和空格数及整篇文章总字数;
2)统计某一字符串在文章中出现的次数,并输出该次数;
3)删除某一子串,并将后面的字符前移;
4)存储结构使用线性表,分别用几个子函数实现相应的功能;
5)输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号;
6)输出形式:a.分行输出用户输入的各行字符;
b.分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”;
c.输出删除某一字符串后的文章。

给你实现了要求得功能函数,由于对你问题得一页得概念不理解,用一字符指针代替文章来操作,约定以'\0'来结束,下面所有得函数都是接受1个字符指针来进行操作,参数传入传出参照微软格式.
----------------------------------
/*
统计文章*pt中英文字母得数量*pNum 空格数*pNumSpace,总字数*pNumAll
返回1成功,0失败
*/
int Statistic(char* pt,int *pNum,int *pNumSpace,int *pNumAll)
{
char* pcur=pt;
*pNum=*pNumSpace=*pNumAll=0;
while(*pcur!='\0')
{
if((*pcur>0x40&&*pcur<0x5B)||(*pcur>0x60&&*pcur<0x7B))*pNum++;
if(*pcur==0x20)*pNumSpace++;
pNumAll++;
pcur++;
}
return 1;
}
/*
统计某一字符串*p在文章*pt中出现得次数,
返回次数
*/
int GetTime(char* pt,char* p)
{
char *a=pt,*temp=a,*b=p;
int num,isok=0;
while(*a!='\0')
{
while(*b!='\0')
{
temp=a;
b=p;
if(*(temp++)==*(b++))
isok=1;
else
isok=0;
}
if(isok)num++;
a++;
}
return num;
}
/*
删除*pt中第一次出现的字串*p
成功返回1,否则0
*/
int DelString(*pt,*p)
{
char *a=pt,*temp=a,*b=p;
int num,isok=0;
while(*a!='\0')
{
temp=a;
b=p;
while(*b!='\0')
{
if(*(temp++)==*(b++))
isok=1;
else
isok=0;;
}
if(isok)
{
while(*temp!='\0'&&(*(a++)=*(temp++))
*a='\0';
return 1;
}
a++;
}

return 0;
}

no