




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)题 目 名 称 字符串排序 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 、专 业 指 导 教 师 2011年 7 月 2 日目 录1 前言. 12 需求分析. 1 2.1 课程设计目的. 1 2.2 课程设计任务. 1 2.3 设计环境. 1 2.4 开发语言. 13 分析和设计. 1 3.1 模块设计. 1 3.2 系统流程图. 13.3 主要模块的流程图. 24 具体代码实现. 25 课程设计总结. 2 5.1 程序运行结果. 2 5.2 课程设计体会. 2参考文献. 2致谢. 21 前言 信息时代,C语言作为一门通用的语言,从产生到现在,一直具有很强的生命力。所有信息类的大学生都要学习C语言。因此,学习和掌握是信息时代的客观要求,同时,掌握好C语言也可为进一步学习其他高级语言打下基础。基于这种理念,学校设置课程设计,让每个学习C语言的学生设计一个程序来解决实际问题,通过课程设计进一步提高学生的C语言水平。本次课程设计的要求是:编写一个程序对字符串进行排序。通过二维数组来存放输入的每个字符串,调用函数对输入的字符串进行排序。输入字符串后,程序对输入的字符串进行排序,并输出排序后的结果,显示在屏幕上。2 需求分析2.1 课程设计目的本课程设计为信息类公共课计算方法与程序设计配套的课程设计。是该课程的理论学习的延伸。通过本课程设计有助于锻炼综合运用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 分析和设计根据题目要求,定义一个二维数组用来存放输入的字符串,调用函数,通过指针来对字符串进行操作。3.1 模块设计本程序设计采用函数调用的方法,大致可分为四个模块。模块一:主函数(main函数),主要功能是调用子函数(fun1,fun2,fun3)。模块二:fun1函数,主要功能是对单个字符串进行排序,然后输出排序结果。模块三:fun2函数,主要功能是对所有字符串进行排序,但不对单个字符串进行排序,然后输出排序结果。模块四:fun3函数,主要功能是综合fun1与fun2的算法,先对单个字符串进行排序,然后对所有排好序的字符串进行排序,最后输出排序结果。3.2系统流程图开 始 main函数调用fun1函数调用fun2函数调用fun3函数结 束图 3.1 系统流程图3.3 主要模块的流程图开 始定义i和数组s,t输出1:ni=0iNgets si输出2:nstrcpy(ti,si)i+调用fun1函数调用fun2函数输出3:n调用fun3函数结 束图3.2 main函数流程图int i,j,nt=pj;pj=pj+1;pj+1=ti=0i+printf(“n”)printf(“%s”,p)pjpj+1in-1-1图3.3 fun1函数流程图i=0printf(“%sn”,ai)k=aj;aj=aj+1;aj+1=kj+i+i+int i=0,j=0in-1jn-i-1iN结束fun2函数图3.4 fun2函数流程图i=0int i,j,k=0,m内层循环strcpy(p,ak);m=strlen(p)knk+i=0i+内层循环in-1iNi+printf(“%sn”,ai)结束fun3函数图3.5 fun3函数流程图4 具体代码实现#include#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(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,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 课程设计体会课程设计是培养学生综合运用所学知识来解决实际问题的教学环节,同时也是锻炼实践能力的重要环节。通过本次课程设计,我对前面学习过的C语言知识有了更深刻的记忆,对C语言也有了更进一步的了解。C语言是一门注重实践的课程,只搞懂书上的知识是远远不够的,当你实践时,你才会发现。刚拿到本次课程设计题目的时候,以为很简单,但实际一动手,发现存在着很多的不懂之处。于是不断看书,不断问同学、老师,最终把程序给写出来了。这段时间,真的学到了很多,也有很多体会。课程设计不仅仅只是要我们弄出结果,更重要的是让我们体会到整个过程,在过程中学习,在过程中提升。参考文献1张福祥. C语言程序设计M. 辽宁大学出版社,2008.12 张福祥,王萌C语言程序设计习题解答与实验实训M沈阳:辽宁大学出版社,20083 牛莉,刘远军等计算机等级考试辅导教程M北京:中国铁道出版社,20084 田淑清. 全国计算机等级考试二级教程-C语言程序设计M.北京:高等教育出版社,2010.5 张福祥.C语言程序设计实验实训与习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版增资扩股合作协议书:企业股本扩张新战略
- 二零二五年度汽车广告代言合同
- 二零二五年度北京市老旧小区改造装修合同
- 2025版海洋工程设计与咨询合同范文
- 二零二五年度第三方保密协议与知识产权许可使用与实施规范模板
- 二零二五年度农家乐餐饮经营管理合同
- 学会尊重他人课件
- 2025版农用车维修保养增值服务合同范本:农机维修增值服务协议
- 二零二五年度水利工程钢筋班组承包合作协议范本
- 二零二五年大型商铺租赁与装修补贴合同
- 人教版高二语文必修四《中华文化精神》教学设计
- 初中数学-综合与实践 哪一款“套餐”更合适教学课件设计
- 采油采气井控题库
- “三重一大”决策 标准化流程图 20131017
- 精选浙江省普通高中生物学科教学指导意见(2023版)
- “魅力之光”核电知识竞赛试题答案(二)(110道)
- 外科学课件:食管癌
- 汽机专业设备运行日常点检
- GB/T 2820.12-2002往复式内燃机驱动的交流发电机组第12部分:对安全装置的应急供电
- 设备基础知识-动设备课件
- GB/T 12599-2002金属覆盖层锡电镀层技术规范和试验方法
评论
0/150
提交评论