摘要: 一个健壮的Fibonacci数列函数的实现函数功能:返回Fibonacci数列中的指定位置的元素;1.基本函数的实现代码如下:int fibon_elem(int position){ int elem=1; int n_1=1,n_2=1; for(int ix=3;ix<=position;++ix) { elem=n_1+n_2; n_1=n_2; n_2=elem; } return elem;}分析:函数满足了我们基本的功能,但实际上我们做了两个不合理的假设;1).假设用户不会犯错,输入的均为合理的位置,不会出现输入零值或负值的情况2).该位置上的数在int型整数的范围之内实际 阅读全文
posted @ 2012-03-25 23:47 liuhao2638 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 一个简单的猜数字游戏设计与实现(2)前言:敏捷编程的设计思想是:先让它跑起来,然后在其内添加功能;在前一篇文章中简单实现了猜测判断和流程控制,但只能对一种Fabonacci数列进行猜测,掌握规律后未免单调,故希望游戏扩展如下功能:有六种数列:Fibonacci,Lucas,Pell,Triangular,Square,Pentagonal;每种数列的数字排列有不同的规律,随机出现其中的一种数列的前两个数字;用户猜测第三个数字;1.设计思想:用六个vector<int>分别存放6种数列的连续三个数字,用一个指针数组存储指向六个vector的指针,随机产生一个数组下标,从而可以随机的指 阅读全文
posted @ 2012-03-25 16:35 liuhao2638 阅读(855) 评论(0) 推荐(1) 编辑
摘要: 一个简单的猜数字游戏的实现(一)前言:这几天看Essential C++, 第一章Stanley B.Lippman用C++实现了一个猜数字的小游戏,细细体会,程序虽小,但五脏俱全,一个完整的程序设计思路,变量命名,小的语法细节及指针带来的弹性设计,细细揣摩受益颇多,在这里把程序的设计过程和夹杂着自己的思路整理一下,也感谢侯捷老师细致的翻译。1.功能需求分析:游戏功能:给出Fibonacci数列的前两个数字,用户猜测第三个数字;注:我们往往从用户那里得到一个较为模糊的需求,软件功能的概括描述,或游戏功能的简单概括,而我们在用计算机实现时需要得到一个细致的需求分析,通过从计算机的角度思考及和用户 阅读全文
posted @ 2012-03-25 15:17 liuhao2638 阅读(1739) 评论(2) 推荐(2) 编辑
摘要: 前言:生成随机数是程序中经常要实现的一个小功能模块,其生成方法是程序员的必备基本功;这里将有关生成随机数有关的函数及生成的思路简单总结。正文:1.rand()函数:原型:int rand();头文件:#include<cstdlib>返回值:返回一随机数,范围在0至RAND_MAX之间,其中RAND_MAX定义在stdlib.h中;技巧:可通过求余运算调整返回随机数的范围,例如rand()%10 则返回0到9之间的随机数。生成随机数程序:#include <iostream>#include <cstdlib>using namespace std;void 阅读全文
posted @ 2012-03-25 12:00 liuhao2638 阅读(285) 评论(0) 推荐(0) 编辑