C++使用简单变量数据平移求出Fibonacci数列的第n项
1.1 需求分析
变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。
Fibonacci数列的计算公式如下:
fib(1) = 1;
fib(2) = 1;
fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n
运行结果截图
1.2 概要设计
创建一个fib循环嵌套函数,当n=1或2时,直接输出结果1.当n>2时,用函数fib循环计算出函数值。同时也要考虑到当输入值为小数或0和负数的情况,提醒用户出错,输入大于0的数。
流程图:
Main函数
Fib函数
1.3 详细设计与编码
见上传程序。
1.4 调试分析
该程序比较简单,在编写过程中只要注意一些细节就可以调试出来,第一次如果不能运行,根据错误提示修正错误。
1.5 用户使用说明
根据界面提示,输入想要求的数据。
1.6 设计心得
这个程序题随意比较简单,但是是对编程的一次很好的复习,程序的要点是函数的嵌套的使用。
#include <stdio.h>
int fib(int m);
void main()
{
int suzhi;
int i=0;
while(true)
{
while(true)
原文请找腾讯752018766辣.文-论'文;网http://www.751com.cn else break;
}
printf("Fibonacci数值为:%d\n",fib(suzhi));
}
}
int fib(int m)
{
if(m==1||m==2)
return 1;
else
{
return fib(m-1)+fib(m-2);1821