1 / 7
文档名称:

程序设计课程设计报告.doc

格式:doc   大小:71KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

程序设计课程设计报告.doc

上传人:小健 2021/10/11 文件大小:71 KB

下载得到文件列表

程序设计课程设计报告.doc

文档介绍

文档介绍:程序设计课程设计报告
设计题目:Fibonacci数列算法设计
学院: 信息工程学院
专业: 计算机科学与技术
学号: 200605030407
学生姓名:张曦
指导老师:周老师
完成日期:2009年4月
需求和规格说明
设计计算Fibonacci数列的第N项值首先是要知道其数列 的计算公式,然后在Fibonacci数列的计算公式上编写任意项N 的值的计算程序,通过使用简单变量“数据平移”的方法计算 Fibonacci数列的第N项(通过键盘输入N的值),新的Fibonacci 数列的newltem总是第N-1项和第N-2项的和,Fibonacci数列 有如下公式:
fib(i)=fib(i-l)+fib(i-2)
然后依次循环,直到求出第N项为止。最后,将所求的值 依次显示在屏幕上。
详细设计与编码
根据上面的算法思想和Fibonacci数列的计算公式,我 们首先进行数学建模,用数学方法实现Fibonacci数列的累 加求值,我们可以设计出以下程序流程图:
fib表示Fibonacci数列值的数组;
i表示数组的下表;
n表示所要计算的第n项。
该程序的主要代码:
void main()
{
long fib[100], i,n; 〃定义数组和变量
fib[O]=l; 〃给数组的第0号元素和第1号元素赋值
fib[l]=l;
printf ("请输入N的值:〃);
scanf ("%d”, &n) ; //用户输入”n”值
for (i=2; i<=n; i++) 〃求第 n 项的值
{
fib [i]=fib[i~l] +fib[i-2];
}
for (i=0; i<=n; i++) //输出这个数列
printf (/zfib[%d]=%d\nz,, i, fib[i]);
(三)用户手册
由于我们输入的是数列的项数,所以只能输入正整数, 以免程序结果错误。
由于c语言中长整型数据的值的范围是-2147483648- 2147483647
所以数组的表示范围有限,当输入的N值过大时, 程序计算到后面会出现数据溢出,结果会不正确。
(三)程序调试
编写号程序后,在Viusal C++ :
经过反复测试,当输入的值大于45时,结果就会出现溢出,就
会出现乱码!如:
EC
请输入N的值:45
fib[0]=l fib[l]=l fib[2]=2 fibC3]=3 fib[4J=5 fib[5]=8 fib[63=l
fib[?]=21 fib[8]=34 fib[9]=55 Fib[10]=89 fib[11J=144 fib[12] =233 fib[131=377 £ib[14]=610 fib[15]=987 fib[16]=1597 £ib[17]=258
fib[18]=4181 fib[19]=6765 fibL20]=10946 fibL21fib[22]=2 8657 Fib123J=46368 fib[243=75025 fibC25]=121393 fib(261=196418 fi b[27]=317811 Fib〔28]=514229 fib[29]=832040 fib[30]=13