- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广工c语言课程设计 字符串处理
课 程 设 计
课程名称__C语言程序设计_____
题目名称__字符串的处理______
学生学院__物理与光电工程____
专业班级__电子科学与技术(5)班___
学 号____________
学生姓名___ ____
指导教师___ _______________
2015 年 1 月 5 日
目录
一、设计目的 3
二、程序设计内容与要求 3
三、课程设计应完成的工作 3
四、总体设计 3
五、详细设计 4
六、调试与测试 14
七、总结 18
八、成员设计内容 19
九、参考资料 19
一、设计目的
进一步加强、巩固所学《c语言》的基础理论知识,理论联系实际,培养自己分析问题与解决问题的能力。掌握运用c语言独立地编写、调试应用程序和其他相关设计的技能。
培养结构化的程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。掌握c语言的编程技巧和上机调试方法以及程序设计的常用方法。
二、程序设计内容与要求
2.1.实现字符串的输入输出。
2.2.对所有字符串按照从小到大的顺序排序,即指针数组中的第一个元素指向最小的字符串,第二个元素指向次小的字符串……以此类推。
2.3.判断这些字符串中是否有“回文”,所谓“回文”就是顺度和倒读都是一样的字符串。
2.4.设计一个菜单,具有上述规定的操作要求、退出系统等最基本的功能。
在程序的后期完善过程中,我们增加了“字符串修改”这一功能。而由于时间比较紧,加上对文件操作不熟悉,所以本系统最后没有加入文件操作来保存历史数据,每次进行字符串相关操作时必须先进行字符串录入,否则无法进行排序等功能操作。
三、课程设计应完成的工作
分析课程设计题目要求,查找相关资料
形成算法流程图,编写c语言程序
程序调试,分析问题,排除错误,优化完善算法
书写c语言课程设计报告
四、总体设计
功能一、录入字符串。
功能二、字符串回文判断。
功能三、字符串排序。
功能四、字符串修改(增加的功能)。
功能五、退出系统。
五、详细设计
系统的整体框图如下图1:
图1 系统框图
5.1、字符串输入模块:
允许输入的字符串包括英文字母、数字、特殊符号或者是他们之间的组合。比如well,good morning!,2015, 2 persons等等。
通过用函数void import()来实现此操作。具体程序如下:
void import()
{
int i,w;
printf(请输入字符串的个数:\n);
do //do……while做输入判断
{
k=0;
scanf(%d,k);
h=h+k;
getchar();
if(k1)
{
w=1; printf(\n\t\t输入错误!请重新输入。\n);
}
else w=0;
}while(w==1);
printf(您将要输入%d字符串\n,k);
printf(请输入字符串:\n);
for(i=h-k+1;i(h+1);i++)
{
gets(str[i]);//字符串输入
printf(您输入第%d字符串是:%s\n,i,str[i]); //字符串输出
}
for(i=h-k+1;i(h+1);i++)
{
p[i]=str[i];/*指向第i行第0列*/
}
printf(输入结束\n);
menu(); //返回菜单
}
算法说明:用一个do——while函数判断输入的字符串个数k的值是否符合要求,当不符合时,提示输入错误,并且要求重新进行k值输入,知道k值符合设计要求进入字符串输入for循环里。通过字符串处理函数gets,将字符串保存在数组str[i]中。然后通过另一个for循环,让指针p[i]指向数组str[i]里的每个元素。最后返回主菜单,进行其他操作选择。
N-S流程图如下图2:
图2 字符串输入函数算法流程图
5.2、字符串的回文判断模块:
通过三个函数void adjust (char *name[],int h)、void choice( )、void huiwen(char *name[],int h)来完成此操作。程序代码如下:
void adjust (char *name[],int h) //对某个字符串进行回文判断函数
{
int y,i,j,len,n,w;
printf(请选择要判断\回文\的字符串序号: \n);
do
文档评论(0)