松江泗泾街道:C语言编程, 带注释

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 07:53:47
功能是:求Fibonacci数列中大于t的最小的一个数min.其中Fibonacci数列f(n)的定义为:
f(0)=0,f(1)=1
f(n)=f(n-1)+(n-2)
输入10个t值分别求出min的值并输出。
例如:当t=1000时,min 值为:1597

---------------------------------------
//帮上面注释
---------------------------------------
#include <iostream.h>

#define N 10 /*宏定义数组元素个数为10*/

/*计算序列中第n个元素的值的函数*/
int Fibonacci(int n)
{
/*如果序号为0或者1就不需要计算,为0时返回0,为1时返回1*/
if( (n==0) || (n==1) )
return (n);
else /*大于1的时候*/
{
/*当序号大于1的时候,返回值为前面两项的和*/
return ( Fibonacci(n-1) + Fibonacci(n-2) );
}
}

void main()
{
int i;
int datain[N] ;
int dataout[N] ;

cout<<"please input N data: ";

/*循环的接受N个数*/
for(i=0;i<N;i++)
{
cin>>datain[i];
}

/*寻找大于输入的N个数的最小的数*/
for(i=0;i<N;i++)
{
int j=0;
while(1)
{
/*寻找第一个大于datain[i]的数,找到就退出while()循环*/
if( Fibonacci(j) > datain[i] ) break;
j++;
}
/*记录找到的数据*/
dataout[i] = Fibonacci(j);
}

/*输出找到的数据*/
for(i=0;i<N;i++)
cout<<dataout[i]<<" ";
}

//随便写了下,以下程序在vc下通过,懒得注了
#include <iostream.h>

#define N 10

int Fibonacci(int n)
{
if( (n==0) || (n==1) )
return (n);
else
{
return ( Fibonacci(n-1) + Fibonacci(n-2) );
}
}

void main()
{
int i;
int datain[N] ;
int dataout[N] ;

cout<<"please input N data: ";

for(i=0;i<N;i++)
{
cin>>datain[i];
}

for(i=0;i<N;i++)
{
int j=0;
while(1)
{
if( Fibonacci(j) > datain[i] ) break;
j++;
}

dataout[i] = Fibonacci(j);
}

for(i=0;i<N;i++)
cout<<dataout[i]<<" ";
}

你先 写个求数列的函数
然后用FOR 或 WHILE 调用 不就行拉!!!

最好是自己写,让别人写,你下次还不会

同意