C语言专业课程设计字符串处理

上传人:仙*** 文档编号:159036958 上传时间:2022-10-08 格式:DOC 页数:23 大小:249.50KB
收藏 版权申诉 举报 下载
C语言专业课程设计字符串处理_第1页
第1页 / 共23页
C语言专业课程设计字符串处理_第2页
第2页 / 共23页
C语言专业课程设计字符串处理_第3页
第3页 / 共23页
资源描述:

《C语言专业课程设计字符串处理》由会员分享,可在线阅读,更多相关《C语言专业课程设计字符串处理(23页珍藏版)》请在装配图网上搜索。

1、C语言专业课程设计字符串处理C语言程序设计课程设计报告题 目字符串处理学 号 姓 名 同组人员 年级专业09电子信息工程2班指导教师 完成日期2010年6月19日目录1. C语言程序设计目的要求32. 字符串处理设计要求.33. 字符串处理流程图.34. 字符串处理源程序.55. 程序分析.9 5.1头文件应用9 5.2函数的应用9 5.3库函数的调用.106.程序调试截图.117.参考资料.138.总结.149. 物理与电子信息学院课程设计评定意见15C语言程序设计目的要求在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务

2、。 通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识字符串处理设计要求1)从键盘输入一个英文句子并保存在字符数组中;2)能删除多余的空格:单词之间只留一个空格,句子前后无空格;3)能统计某单词出现的频度;4)能替换某个单词。法实现也可。字符串处理流程图 这个程序调用3个功能函数,分别起处理删除空格、查找某个单词出现频度、用一个单词替换原来的一个单词。最后,在主程序里对这3个函数进行调用,完成函数要求的所有功能。下面就是总的程序流程图:开始输入英文句子输出英文句子调用Delete(str)函数清除前导

3、和后导空格,中间多余空格输出清除空格后的句子输入要统计个数的单词调用FintCount(str)函数统计其出现次数调用Swap(str)函数替换某个单词输出替换后的英文句子结束字符串处理源程序#include #include #include void Delete(char str) int i,j,Length,StartBlank=0,EndBlank=0,MiddleBlank=0; Length=strlen(str); for(i=0; iLength; i+) /* 删除前导空格 */ if(stri= ) StartBlank+; else break; for(j=0; j

4、=0; i-) /* 删除后导空格 */ if(stri= ) EndBlank+; else break; Length-=EndBlank; while(EndBlank0) strLength-1+EndBlank=strLength+EndBlank; EndBlank-; i=0; /* 删除中间多余空格 */ while(iLength) if(stri= ) if(stri+1= ) for(j=i+1; jLength; j+) strj=strj+1; MiddleBlank+; Length-; else i+; else i+; void FindCount(char s

5、tr) char FindWord20,*p1,*p2; int count=0; /* 查找单词出现的次数 */ printf(Enter a Findword:n); gets(FindWord); p1=str; p2=FindWord; while(*p1!=0) if(*p1=*p2)&(!isalpha(*(p1-1) while(*p1=*p2)&(*p2!=0) p1+; p2+; else p1+; if(*p2=0)&(*p1= )|(*p1=0) count+; /* 所查找单词完全匹配 */ p2=FindWord; /* 重置查找单词 */ printf(FindCo

6、unt:%dn,count);void Swap(char str) char SwapWord20,FindWord20,*p1,*p2; int j,s,k,i=0,SwapWordLength,strLength,FindWordLength,n; printf(Enter a FindWord:n); gets(FindWord); printf(Enter a SwapWord:n); gets(SwapWord); p1=str; p2=FindWord; strLength=strlen(str); /* 原英文句子长度 */ FindWordLength=strlen(Find

7、Word); /* 查找单词长度 */ SwapWordLength=strlen(SwapWord); /* 替换单词长度 */ n=SwapWordLength-FindWordLength; /* 查找和替换单词长度的差 */ while(*p1!=0) if(*p1=*p2)&(!isalpha(*(p1-1) while(*p1=*p2)&(*p2!=0) p1+; p2+; i+; else p1+; i+; if(*p2=0)&(*p1= )|(*p1=0) /* 所查找单词完全匹配 */ if(n0) j=i-FindWordLength; for(k=0; kSwapWord

8、Length; k+) strj+=SwapWordk; for(s=i; sstrLength; s+) strj+=strs; while(ji; s-) strs=strstrLength-; j=i-FindWordLength; for(k=0; kSwapWordLength; k+) strj+=SwapWordk; strLength=strlen(str); i+=n; p1+=n; p2=FindWord; void main() char str1000; printf(Input a English sentence:n); gets(str); /* 输入一个英文句子

9、 */ printf(Output English sentence:n); puts(str); Delete(str); /* 删除前导空格,后导空格,中间多余空格 */ printf(Delete English sentence:n); puts(str); FindCount(str); /* 统计某个单词出现次数 */ Swap(str); /* 查找并替换某个单词 */ printf(Swap English sentencd:n); puts(str);程序分析一、 头文件的应用#include #include #include 二、 函数的应用void Delete(cha

10、r str)void FindCount(char str)void Swap(char str)子函数详细代码,如:void Delete(char str) int i,j,Length,StartBlank=0,EndBlank=0,MiddleBlank=0; Length=strlen(str); for(i=0; iLength; i+) if(stri= ) StartBlank+; else break; for(j=0; j=0; i-) if(stri= ) EndBlank+; else break; Length-=EndBlank; while(EndBlank0)

11、strLength-1+EndBlank=strLength+EndBlank; EndBlank-; i=0; while(iLength) if(stri= ) if(stri+1= ) for(j=i+1; jLength; j+) strj=strj+1; MiddleBlank+; Length-; else i+; else i+; 三、 库函数的调用输出函数的调用,如:printf(Input a English sentence:n);输入函数的调用,如:gets(str);程序调试截图输入一个英文句子:输入句子:删除空格后的句子:统计一个单词出现频度:用一个单词替换原来的一个

12、单词:参考资料1 谭浩强,C程序设计教程,清华大学出版社,2007年2 赵永哲,李雄飞,戴秀英编著,C语言程序设计,科学出版社,2003年3 夏宽理,赵子正编著,C语言程序设计,中国铁道出版社,2006年4 谭浩强编著,C程序设计,清华大学出版社,1991年5 Gary J. Bronson, A First Book of ANSI C (Fourth Edition), Publishing House of Electronics Industry, 2006.6 Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edi

13、tion), China Machine Press, 2004.7 Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, China Machine Press, 2006.总结通过这次课程设计,我对很多的函数有了新的认识,也学会了运用多种函数。写程序的过程中不断积累,不断思考,经过长时间的设计与调试,最终完成了这次的课程设计,这次课程设计总的来说让我受益匪浅。 在程序的设计过程中遇到了很多的困难,在程序一次一次的调试失败下更让我学会了坚持,毫不畏惧困难,在同学的帮助和老师的讲解下顺利的完成了课程设计。 此次课程设计不仅给了我很多的经验,也让我体会到了失败时的焦急和难受,也体会到了成功时的兴奋和喜悦。物理与电子信息学院课程设计评定意见指导教师评语主要内容包括:设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。成绩: 签名: 年 月 日22安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!