




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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+) /* 删除前导空格
4、*/ if(stri=' ') 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
6、; 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("FindCount:%dn",count);void
7、 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
8、(FindWord); /* 查找单词长度 */ 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=' '
9、;)|(*p1='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-Find
10、WordLength; for(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); /* 删除前导空格,后导空格,中间
11、多余空格 */ printf("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
12、 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; i<Length; i+) if(stri=' ') StartBlank+; else break; for(j=0; j<Length; j+) strj=strj+StartBlank; Length-=StartBlank; for(i=Length-1;
13、 i>=0; i-) 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
15、 ANSI C (Fourth 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班幼儿在数学阅读健康情感社交五大领域的发展策略
- 2024年中考押题预测卷02(天津卷)-历史(考试版)A3
- 【高中语文】学校高三三模语文试题
- 2024-2025学年下学期高一生物沪科版期末必刷常考题之基因突变是生物变异的根本来源
- 点、直线和平面的投影
- 2024-2025学年浙江省杭州市部分重点中学高二下学期开学检测语文试题(解析版)
- 2025年秋三年级上册语文同步教案 口语交际:身边的“小事”
- 学校德育工作心得体会
- 高一升高二(英语)
- 治疗室换药室消毒管理制度讲课件
- 信息化项目网络设备、网络安全设备、服务器和存储系统集成项目培训方案
- 汉语语法教学-是……的
- 2009-2022历年河北省公安厅高速交警总队招聘考试真题含答案2022-2023上岸必备带详解版4
- 无犯罪记录无吸毒史证明模板
- 六年级信息技术下册《走进人工智能》优质课获奖课件
- 第18课 现代设计与现代媒体-高中美术鲁美版美术鉴赏
- 国际商务毕业论文范文
- 劳动法课件(完整版)
- GB∕T 37456-2019 海洋平台电驱动齿轮齿条升降装置
- 营运车辆智能视频监控系统管理制度范本及动态监控管理制度
- DB34∕T 3587-2020 城镇排水管道检测与修复技术规程
评论
0/150
提交评论