新微赢技术网

标题: [求助]一个关于斐波纳契数列验证黄金分割的程序 [打印本页]

作者: 欧阳天明    时间: 2009-11-3 01:07
标题: [求助]一个关于斐波纳契数列验证黄金分割的程序
在验证上述问题是我编写如下:
#include<iostream.h>
void main()
{
double fn1,fn2,fn3;
int i,n;
cout<<"请输入你要进行个数:";
cin>>n;
double a[n];
fn1=fn2=1;
a[0]=fn1;
a[1]=fn2;
cout<<"第1个数是:"<<fn1<<"\n";
cout<<"第2个数是:"<<fn2<<"\n";
for(i=3;i<n;i+=3)
{
fn3=fn1+fn2;a[i-1]=fn3;
fn1=fn3+fn2;a[i]=fn1;
fn2=fn1+fn3;a[i+1]=fn2;

}
cout<<"现在验证黄金分割的比率是0.618";
for(i=0;i<n;i++)
{
if(a[i+1]/a[i]==0.618)
cout<<"验证成功!";
else
cout<<"失败!";
}

return ;
}
谁能帮我看看 有是什么问题啊 就是不能执行可执行文件啊
作者: 爱我后悔    时间: 2009-11-3 01:07
请大家帮帮忙啊
作者: ♀鈊亂ゞ鎵伙    时间: 2009-11-3 01:07
return ; 忘拉返回值
作者: 逊一    时间: 2009-11-3 01:07


  1. #include<iostream.h>
  2. void main()
  3. {
  4. double fn1,fn2,fn3;
  5. int i,n;
  6. cout<<"请输入你要进行个数:";
  7. cin>>n;
  8. double a[n]; 这里数组大小应该是个定值,不能用变量,可换成a[100]。

  9. fn1=fn2=1;
  10. a[0]=fn1;
  11. a[1]=fn2;
  12. cout<<"第1个数是:"<<fn1<<"\n";
  13. cout<<"第2个数是:"<<fn2<<"\n";
  14. for(i=3;i<n;i+=3)
  15. {
  16. fn3=fn1+fn2;a[i-1]=fn3;
  17. fn1=fn3+fn2;a[i]=fn1;
  18. fn2=fn1+fn3;a[i+1]=fn2;

  19. }
  20. cout<<"现在验证黄金分割的比率是0.618";
  21. for(i=0;i<n;i++)
  22. {
  23. if(a[i+1]/a[i]==0.618)//这里应该是a[i]/a[i+1],你弄反了,另外0.618是个约数,你永远也不可能用这个式子求出来
  24. cout<<"验证成功!";
  25. else
  26. cout<<"失败!";
  27. }
  28. return ;main()是void型的,此句多余。
  29. }
复制代码

作者: ℡可可℡    时间: 2009-11-3 01:07
哦 谢谢了
在那个a[n]中的n不也是一个输入的值吗
作者: 熾天使rose    时间: 2009-11-3 01:07
you have two options to allocate the memory for the int buffer

Option 1: (static allocation)

int a[100];

or

#define N 100
int a[N];

or

const int N=100;
int a[N];

Option 2: (dynamic allocation)

int* a;
int n=100;
a = new int[n]; // C++

or

a = (int*)malloc(n*sizeof(int)); // C
作者: 妊嫒ぞ流逝    时间: 2009-11-3 01:08
哦听了楼上的收益非浅啊
但我想要按用户的要求来分配存储空间
这样可以节省空间把
作者: 林枫    时间: 2009-11-3 01:08
read more about static allocation and dynamic allocation:

both have advantages and disadvantages.

You can search bc-cn in both C forum and this C++ forum.
作者: 笨笨洋葱    时间: 2009-11-3 01:08
哦好的谢谢楼上的版主




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2