c++语言程序设计题目

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:12:40
序号6
[题目]
已知Fibonacci数列的递推公式如下:
当n=1时,其值为1;
当n=2时,其值为1;
当n>1时,其值由递推公式Fn = Fn-1 + Fn-2计算得到。
建立一个类FIB,根据整数n求Fibonacci数列的前n项的值。
(1)私有数据成员。
●int n:用于存放要求计算的数列的项数。
●int *f:指向根据n的值申请一个动态数组,用于存放求出的多项式的前n项的值。
(2)公有成员函数。
●FIB(int n1):构造函数,用参数n1初始化成员数据n,由此动态申请一个数组空间,并初始化该数组。
●void process():根据n的值计算Fibonacci数列的前n项的值。
●void show(fstream &):输出求出的数列。
●~FIB():析构函数,释放动态数组所占用的存储空间。
(3)在主程序中对该类进行测试。在主程序中定义一个FIB类的对象test,从文件中输入n1值,该值为10。然后按上述要求完成对该类的测试。用户可以用任意一个不太大的整数作为测试数据。
[要求]
将源程序取名为cd6.cpp,程序中使用的数据皆放在文件名为data.txt中,并使用C++读取文件的方式输入程序中需要的数据,最后程序运行的结果同时以2种方式输出:①屏幕显示方式和②文件的形式存放在文件名为result.txt中,以上3文件皆放在学号姓名文件夹下,供阅读、运行使用。

#include <iostream.h>

long fibo(int n)

{

long a=1, b=1, temp;

for(int i=3; i<=n; i++){

temp=a+b; a=b; b=temp;

}

return b;

}

void main()

{

int n;

cout <<"please input a number:\n";

cin >>n;

long f = fibo(n);

cout <<f <<endl;

}

用递归的方法编写函数求Fibonacci数列第n项;观察递归调用的过程

#include <iostream.h>

long fib(int n)

{

if (n > 2)

return (fib(n-1) + fib(n-2));

else

return 1;

}

void main()

{

int n;

cout <<"please input a number:\n";

cin >>n;

long f = fib(n);

cout <<f <<endl;

}

另外的方法:
class CFibonac