版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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 <stdio.h>#include <string.h>#include <ctype.h>void Delete(char str) int i,j,Length,StartBlank=0,EndBlank=0,MiddleBlank=0; Length=strlen(str); for(i=0; i<Length; i+) /* 删除前导空格 */ if(stri=
4、39; ') StartBlank+; else break; for(j=0; j<Length; j+) strj=strj+StartBlank; Length-=StartBlank; for(i=Length-1; i>=0; i-) /* 删除后导空格 */ if(stri=' ') EndBlank+; else break; Length-=EndBlank; while(EndBlank>0) strLength-1+EndBlank=strLength+EndBlank; EndBlank-; i=0; /* 删除中间多余空格 */
5、 while(i<Length) if(stri=' ') if(stri+1=' ') for(j=i+1; j<Length; j+) strj=strj+1; MiddleBlank+; Length-; else i+; else i+; void FindCount(char str) char FindWord20,*p1,*p2; int count=0; /* 查找单词出现的次数 */ printf("Enter a Findword:n"); gets(FindWord); p1=str; p2=FindWord
6、; 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("FindCount:%dn",count);void Swap(char st
7、r) 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(FindWord); /
8、* 查找单词长度 */ 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='
9、0') /* 所查找单词完全匹配 */ if(n<0) j=i-FindWordLength; for(k=0; k<SwapWordLength; k+) strj+=SwapWordk; for(s=i; s<strLength; s+) strj+=strs; while(j<strLength) strj+='0' strLength=strlen(str); i+=n; p1+=n; else for(s=strLength+n; s>i; s-) strs=strstrLength-; j=i-FindWordLength; f
10、or(k=0; k<SwapWordLength; k+) strj+=SwapWordk; strLength=strlen(str); i+=n; p1+=n; p2=FindWord; void main() char str1000; printf("Input a English sentence:n"); gets(str); /* 输入一个英文句子 */ printf("Output English sentence:n"); puts(str); Delete(str); /* 删除前导空格,后导空格,中间多余空格 */ print
11、f("Delete English sentence:n"); puts(str); FindCount(str); /* 统计某个单词出现次数 */ Swap(str); /* 查找并替换某个单词 */ printf("Swap English sentencd:n"); puts(str);程序分析一、 头文件的应用#include <stdio.h>#include <string.h>#include <ctype.h>二、 函数的应用void Delete(char str)void FindCount(ch
12、ar 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; i<Length; i+) if(stri=' ') StartBlank+; else break; for(j=0; j<Length; j+) strj=strj+StartBlank; Length-=StartBlank; for(i=Length-1; i>=0; i-)
13、 if(stri=' ') EndBlank+; else break; Length-=EndBlank; while(EndBlank>0) strLength-1+EndBlank=strLength+EndBlank; EndBlank-; i=0; while(i<Length) if(stri=' ') if(stri+1=' ') for(j=i+1; j<Length; j+) strj=strj+1; MiddleBlank+; Length-; else i+; else i+; 三、 库函数的调用输出函数的
14、调用,如:printf("Input a English sentence:n");输入函数的调用,如:gets(str);程序调试截图输入一个英文句子:输入句子:删除空格后的句子:统计一个单词出现频度:用一个单词替换原来的一个单词:参考资料1 谭浩强,C程序设计教程,清华大学出版社,2007年2 赵永哲,李雄飞,戴秀英编著,C语言程序设计,科学出版社,2003年3 夏宽理,赵子正编著,C语言程序设计,中国铁道出版社,2006年4 谭浩强编著,C程序设计,清华大学出版社,1991年5 Gary J. Bronson, A First Book of ANSI C (Four
15、th Edition), Publishing House of Electronics Industry, 2006.6 Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, 2004.7 Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, China Machine Press, 2006.总结通过这次课程设计,我对很多的函数有了新的认识,也学会了运用多种函数。写程序的过程中不断积累,不断思考,经过长时间的设计与调试,最终完成了这次的课程设计,这次课程设计总的来说让我受益匪浅。 在程序的设计过程中遇到了很多的困难,在程序一次一次的调试失败下更让我学会了坚持,毫不畏惧困难,在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NT超声诊断规范
- 2024年国际货物运输分包合同协议书
- 留学咨询服务优化方案
- 特种设备起重吊装作业方案
- 大学附属中学高三化学上学期期中试题
- 2024年商务会议场地租赁合同样本
- 2024年创新式雇佣合同范例
- 幼儿园体能活动设计
- 2024年地下室装修设计合作合同
- 2024年地质灾害防治土石方治理承包合同
- 军事地形学地形图基本知识
- 2022版义务教育(生物学)课程标准(含2022年修订和新增部分)
- 六年级综合实践活动课件-珍爱生命远离毒品 全国通用(共24张PPT)
- 建设工程竣工消防验收记录表(DOC36页)
- 沉井专项施工方案DOC
- 切削力计算参考模板
- 一年级海洋教育教案
- 聚氨酯硬泡沫配方及计算
- 关于大学生体育锻炼情况调查报告
- 运动的描述-主题单元设计
- 义务教育地理课程标准解读(课堂PPT)
评论
0/150
提交评论