课程设计--- 字符串排序

上传人:aa****6 文档编号:38394699 上传时间:2018-05-01 格式:DOC 页数:13 大小:78.50KB
返回 下载 相关 举报
课程设计--- 字符串排序_第1页
第1页 / 共13页
课程设计--- 字符串排序_第2页
第2页 / 共13页
课程设计--- 字符串排序_第3页
第3页 / 共13页
课程设计--- 字符串排序_第4页
第4页 / 共13页
课程设计--- 字符串排序_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《课程设计--- 字符串排序》由会员分享,可在线阅读,更多相关《课程设计--- 字符串排序(13页珍藏版)》请在金锄头文库上搜索。

1、 课程设计(论文)题 目 名 称 字符串排序 课 程 名 称 C 语言程序课程设计 学 生 姓 名 学 号 系 、专 业 指 导 教 师 2011 年 7 月 2 日目 录1 前言. 12 需求分析. 12.1 课程设计目的. 12.2 课程设计任务. 12.3 设计环境. 12.4 开发语言. 13 分析和设计. 13.1 模块设计. 13.2 系统流程图. 13.3 主要模块的流程图. 24 具体代码实现. 25 课程设计总结. 25.1 程序运行结果. 25.2 课程设计体会. 2参考文献. 2致谢. 21 前言信息时代,C 语言作为一门通用的语言,从产生到现在,一直具有很强的生命力。所

2、有信息类的大学生都要学习 C 语言。因此,学习和掌握是信息时代的客观要求,同时,掌握好 C 语言也可为进一步学习其他高级语言打下基础。基于这种理念,学校设置课程设计,让每个学习 C 语言的学生设计一个程序来解决实际问题,通过课程设计进一步提高学生的 C 语言水平。本次课程设计的要求是:编写一个程序对字符串进行排序。通过二维数组来存放输入的每个字符串,调用函数对输入的字符串进行排序。输入字符串后,程序对输入的字符串进行排序,并输出排序后的结果,显示在屏幕上。2 需求分析2.1 课程设计目的本课程设计为信息类公共课计算方法与程序设计配套的课程设计。是该课程的理论学习的延伸。通过本课程设计有助于锻炼

3、综合运用C语言相关知识设计算法,解决实际问题的能力;有助于将抽象的理论知识和具体的应用相结合。培养抽象思维能力。2.2 课程设计任务输入n个只由字母和数字组成的不等长字符串,对这些字符串进行排序:(1)将每个字符串排序,输出排序结果。(2)不对单个字符串进行排序,将n个字符串排序,输出排序结果。(3)先对每个字符串进行排序,再将n个字符串排序,输出排序结果。2.3 设计环境(1)WINDOWS 2000/2003/XP/7/Vista系统(2)VisualC+或TC集成开发环境2.4 开发语言C语言3 分析和设计根据题目要求,定义一个二维数组用来存放输入的字符串,调用函数,通过指针来对字符串进

4、行操作。3.1 模块设计本程序设计采用函数调用的方法,大致可分为四个模块。模块一:主函数(main函数) ,主要功能是调用子函数(fun1,fun2,fun3) 。模块二:fun1函数,主要功能是对单个字符串进行排序,然后输出排序结果。模块三:fun2函数,主要功能是对所有字符串进行排序,但不对单个字符串进行排序,然后输出排序结果。模块四:fun3函数,主要功能是综合fun1与fun2的算法,先对单个字符串进行排序,然后对所有排好序的字符串进行排序,最后输出排序结果。3.2 系统流程图开 始 main 函数调用 fun1 函数调用 fun2 函数调用 fun3 函数结 束图 3.1 系统流程图

5、3.3 主要模块的流程图开 始定义i和数组s,t输出1:ni=0i#include#include# define N 3#define M 80 void fun1(char *p)int i,j,n;char t;n=strlen(p);for(i=0;in-1;i+)for(j=0;jn-i-1;j+)if(pjpj+1)t=pj;pj=pj+1;pj+1=t;printf(“n“);printf(“%sn“,p);void fun2(char (*a)M,int n)int i,j;char kM;for(i=0;in-1;i+)for(j=0;jn-i-1;j+)if(strcmp(

6、aj,aj+1)0)strcpy(k,aj);strcpy(aj,aj+1);strcpy(aj+1,k);for(i=0;iN;i+)printf(“%sn“,ai);void fun3(char (*a)M,int n)int i,j,k,m;char pM,bM,t;for(k=0;kn;k+) strcpy(p,ak);m=strlen(p);for(i=0;im-1;i+)for(j=0;jm-i-1;j+)if(pjpj+1)t=pj;pj=pj+1;pj+1=t;strcpy(ak,p);for(i=0;in-1;i+)for(j=0;jn-i-1;j+)if(strcmp(aj

7、,aj+1)0)strcpy(b,aj);strcpy(aj,aj+1);strcpy(aj+1,b);for(i=0;iN;i+)printf(“%sn“,ai);main()int i;char sNM,tNM;printf(“1:n“);for(i=0;iN;i+)printf(“Please input sting:n“);gets(si);strcpy(ti,si);fun1(ti);printf(“2:n“);fun2(s,N);printf(“3:n“);fun3(s,N);5 课程设计总结5.1 程序运行结果5.2 课程设计体会课程设计是培养学生综合运用所学知识来解决实际问题的

8、教学环节,同时也是锻炼实践能力的重要环节。通过本次课程设计,我对前面学习过的 C 语言知识有了更深刻的记忆,对 C 语言也有了更进一步的了解。C 语言是一门注重实践的课程,只搞懂书上的知识是远远不够的,当你实践时,你才会发现。刚拿到本次课程设计题目的时候,以为很简单,但实际一动手,发现存在着很多的不懂之处。于是不断看书,不断问同学、老师,最终把程序给写出来了。这段时间,真的学到了很多,也有很多体会。课程设计不仅仅只是要我们弄出结果,更重要的是让我们体会到整个过程,在过程中学习,在过程中提升。参考文献1张福祥. C 语言程序设计M. 辽宁大学出版社,2008.12 张福祥,王萌C 语言程序设计习题解答与实验实训M沈阳:辽宁大学出版社,20083 牛莉,刘远军等计算机等级考试辅导教程M北京:中国铁道出版社,20084 田淑清. 全国计算机等级考试二级教程-C 语言程序设计M.北京:高等教育出版社,2010.5 张福祥.C 语言程序设计实验实训与习题解答M.辽宁大学出版社 2010.致谢本次课程设计终于圆满的结束了,在设计中碰到了许多问题,但最终在多方帮助下还是解决了。感谢各位老师尤其是牛莉老师的耐心指导!感谢杨峰、杨晟、杨霄鹏等同学提供的知识上的帮助。感谢曾聪、张倚川等同学提供电脑来设计程序!在此,对所有帮助过我的老师和同学表示衷心的感谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号