[求助]考试题目,VC序列小游戏
一、题目:序列小游戏
二、目的与要求
1. 目的:
(1)让学生体会到鸽巢原理(或抽屉原理)的乐趣并使学生更加系统地理解和掌握C++语言的函数间参数传递方法、数组和指针的应用等编程技巧。培养学生综合利用C++语言进行科学计算,使学生将所学知识转化为分析和设计简单实际问题的能力,学会查资料和工具书。
(2)提高学生建立程序文档、归纳总结的能力。
(3)进一步巩固和灵活运用先修课程《计算机文化基础》有关文字处理、图表分析、数据归整、应用软件之间图表、数据共享等信息技术处理的综合能力。
2. 基本要求:
要求用C++语言编程,在Visual C++环境下调试完成;
三、设计方法和基本原理
1. 课题功能描述
任意给定5个数字,其中必定存在3个数字已经有序(或者升序,或者降序),找出这5个数字中最长的升序或降序序列。
例如:1,7,5,3,9。则{1,7,9},{1,5,9},{1,3,9}都是最长的升序序列;
而{7,5,3}是最长的降序序列。
再如:1,3,2,5,7。最长的升序序列为{1,3,5,7}和{1,2,5,7}。
2. 问题的解决方案:
自动生成各种可能的序列,对于5个数字所有可能的序列为:
{0,1,2,3}、{0,1,2,4}、{0,1,3,4}、{0,2,3,4}、{1,2,3,4}
{0,1,2}、{0,1,3}、{0,2,3}、{1,2,3}
{0,1,4}、{0,2,4}、{1,2,4}
{1,3,4}
{2,3,4}、{0,3,4}
考察各种可能的序列是否升序或是降序,若是则打印;
四、创新要求
在基本要求达到后,进行创新设计,10个数据,必定会有至少4个数据已经有序(或升序或降序),找出最长的升序或降序序列。