编写判断函数_第1页
编写判断函数_第2页
编写判断函数_第3页
编写判断函数_第4页
编写判断函数_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1引言11.1问题的提出1判断函数11.2任务与分析12系统分析22.1功能需求23设计方案23.1主要函数23.2主要流程图33.3设计思路33.4编码43.5实现结果54系统测试74.1设计测试数据74.2测试结果及分析7测试结果7结果分析7总结8致谢9参考文献9附录10摘要本次我的课程设计题目是“编写函数”,函数的主要功能是判断数组a的前n个元素是否从大到小完全有序。编写这样的函数能够较方便的判断出数组a的前n个元素是否从大到小完全有序。此程序仅仅是一个课程设计的程序,如需要真正成为一个系统,那么还要需要更为完善。关键词:判断函数、数组a、完全有序。1 引 言1.1 问题的提出随着教

2、育的普及以及计算机的广泛应用,怎样使计算机更好更高效的为我们的工作和学习服务就成了一个问题。今天我所写的这个简单函数判断数组序列的函数,能够较方便的实现对数组的前n个元素是否从大到小完全有序的判别,但要真正应用于社会中,这个程序还远远不够,还需要更加完善。1.1.1 判断函数在此编写的判断函数包括两个,一个是普通的函数即非递归的,另一个是递归函数。通过这个两个中的任意一个函数,都可以较方便的对数组的前n个元素是否从大到小完全有序作出明确的判断。1.2 任务与分析这个任务主要是编写两个函数即一个普通函数和一个递归函数。分析:本任务我选择使用菜单方式操作,这个可以通过printf语句来实现,利用多

3、个printf语句来实现菜单的输出。编写了两个不同的判断函数,在主函数中使用switch语句来分别调用不同的函数来实现相同的判断功能。2 系统分析就这次课程设计的题目“编写函数”而言,我先进行了一系列的分析。首先要编写两个判断函数,接着再编写两个函数来调用前面编好的判断函数;再接着就把这个程序模块化,然后再在主函数中调用各个模块。最后再在机子上运行调试直至运行成功,本次课程设计的基本目的就达到了。2.1 功能需求我所编写的这两个判断函数,主要需要实现的功能就是对数组的前n个元素是否从大到小完全有序作出明确的判断。3 设计方案3.1 主要函数本程序运用的函数如下:bool f1(int a,in

4、t n) 判断数组的前n项是否按从大到小排列的普通函数;bool f2(int a,int n) 判断数组的前n项是否按从大到小排列的递归函数;void panduan1() 用于调用普通函数f1的函数;void panduan2() 用于调用普通函数f2的函数;3.2 主要流程图开始进入选择菜单输入数字0-2退出递归函数普通函数图3-1程序主要流程图本图是判断函数系统的主要流程图,从程序开始到各个环节的流程关系。需要输入的信息等。3.3 设计思路程序中包含了1个全局变量、两个返回值为bool的函数和两个分别调用前面两个函数的函数。如下:int a=20,19,18,17,16,15,14,1

5、1,1,2,3,4,5,6;bool f1(int a,int n) /判断数组的前n项是否按从大到小排列的普通函数bool f2(int a,int n) /判断数组的前n项是否按从大到小排列的递void panduan1() /用于调用普通函数f1的函数void panduan2() /用于调用普通函数f2的函数3.4 编码本次课程设计的主要编码如下:/*系统主函数*/ void main()int choice=-1;printf("t温馨提示:为了保证您的操作能得到正确的结果,请按正常顺序退出系统n"); do printf("nnn"); pr

6、intf("ttt*n"); printf("tttt* 欢迎进入判断函数系统 *nn"); printf("tttt* 请选择你要进行的操作 *n"); printf("ttt*n");printf("ttt* 0-退出系统 *n"); printf("ttt* 1-普通函数判断数组的序列n"); printf("ttt* 2-递归函数判断数组的序列n"); printf("ttt*n"); printf("请输入您的选择:

7、"); cin>>choice; switch(choice) case 0: printf("-谢谢使用-再见!n"); exit(0); case 1: panduan1();break; case 2: panduan2();break;default:printf("n无效选项!"); break; while(choice!=0); 3.5 实现结果程序在运行的情况下,进入到判断函数系统,如图3-2所示:图3-2判断函数系统菜单输入数字1,进行函数判断功能,再输入n的值就能得到结果,如图3-3所示:图3-3判断函数结果如图

8、3-4所示,此图是在主菜单下输入0,退出程序,在输入0之后会出现press any key to continue。图3-4退出系统4 系统测试4.1 设计测试数据a=20,19,18,17,16,15,14,11,1,2,3,4,5,64.2 测试结果及分析4.2.1 测试结果进入判断函数系统后,按步骤做下去,都能得到正确的结果。4.2.2 结果分析程序运行的各种结果都达到了预期的效果,结果正确。总 结在本次的课题设计中,我受益匪浅,就编写判断函数这个课题而言,我实现了数据的输入和输出,能够直接通过写的程序对数组进行判断。在实现菜单式操作方面,用到了printf函数以及switch函数。通过

9、本次课程设计,我学到了很多实用的东西,虽然没有使用库函数,但是自己学会了定义函数,在这次的设计当中,我自己定义了两个判断数组的函数和两个分别调用前面函数的函数。尽管在此之前,自己对程序设计的总体思想与思路还有些不清楚,但是就调试运行过程中遇到的问题,通过自己的努力、同学的帮助以及在网上查询等方法,最终都解决了。致 谢本次课程设计能顺利完成,感谢学校的大力支持,感谢数学与计算机学院为我们提供实练的机会,感谢*老师以及*老师的细心教导。此次的课程设计是本人人生当中的第二个,虽然经过了一段漫长又痛苦的过程,但是值得庆幸的是自己最终还是完成了,这与自己的努力是分不开的,但是自己在调试过程中遇到的一些问

10、题,自己仍然不懂,是在同学和老师的帮助下完成的,在这里还要再次对他们的付出表示崇高的敬意。参考文献1 陈天华.面向对象程序设计与Visual C+6.0教程。北京:清华大学出版社.20062 谭浩强。C程序设计(第三版)。北京:清华大学出版社。20073 郑莉等 编著. C+程序设计语言(第三版). 北京:清华大学出版社,2005.06 附 录#include<iostream.h>#include<stdio.h>#include<stdlib.h>int a=20,19,18,17,16,15,14,11,1,2,3,4,5,6;bool f1(int

11、a,int n) /判断数组的前n项是否按从大到小排列的普通函数int i;for(i=0;i<n-1;i+) /依次比较if(ai<ai+1)return false ;return true ;bool f2(int a,int n) /判断数组的前n项是否按从大到小排列递归函数if(n=1)return true ; /如果数组只有一个值就符合条件elseif(an-1>an-2)return false ;elsef2(a,n-1); /调用本身void panduan1() /用于调用普通函数f1的函数int n,i;cout<<"数组为:&q

12、uot;for(i=0;i<sizeof(a)/4;i+)cout<<ai<<" " /依次输出数组的值cout<<endl;cout<<"请输入n的值:"cin>>n;if(f1(a,n)cout<<"数组的前"<<n<<"个元素是从大到小完全有序"<<endl;elsecout<<"数组的前"<<n<<"个元素不是从大到小完全有序&q

13、uot;<<endl;void panduan2() /用于调用普通函数f2的函数int n,i;cout<<"数组为:"for(i=0;i<sizeof(a)/4;i+)cout<<ai<<" " /依次输出数组的值cout<<endl;cout<<"请输入n的值:"cin>>n;if(f2(a,n)cout<<"数组的前"<<n<<"个元素是从大到小完全有序"<

14、<endl;elsecout<<"数组的前"<<n<<"个元素不是从大到小完全有序"<<endl;void main()int choice=-1;printf("t温馨提示:为了保证您的操作能得到正确的结果,请按正常顺序退出系统n");doprintf("nnn");printf("ttt*n");printf("tttt* 欢迎进入判断函数系统 *nn");printf("tttt* 请选择你要进行的操作 *n");printf("ttt*n");printf("ttt* 0-退出系统 *n");printf("ttt* 1-普通函数判断数组的序列n");printf("ttt* 2-递归函数判断数组的序列n");printf(&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论