设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 278|回复: 8
打印 上一主题 下一主题

[求助]一个关于斐波纳契数列验证黄金分割的程序

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:07:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在验证上述问题是我编写如下:
#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 ;
}
谁能帮我看看 有是什么问题啊 就是不能执行可执行文件啊
2#
发表于 2009-11-3 01:07:46 | 只看该作者
请大家帮帮忙啊
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:07:48 | 只看该作者
return ; 忘拉返回值
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:07:52 | 只看该作者


  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. }
复制代码
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:07:56 | 只看该作者
哦 谢谢了
在那个a[n]中的n不也是一个输入的值吗
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:07:59 | 只看该作者
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
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 01:08:00 | 只看该作者
哦听了楼上的收益非浅啊
但我想要按用户的要求来分配存储空间
这样可以节省空间把
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 01:08:03 | 只看该作者
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.
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 01:08:05 | 只看该作者
哦好的谢谢楼上的版主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 01:49 , Processed in 0.099582 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表