大神帮我看下简单小程序哪里不对C++

//f1=1,f2=1,fn=f(n-1)+f(n-2),输出前50项,每行输出5个值#include<iostream>usingnamespacestd;voidma... //f1=1,f2=1,fn=f(n-1)+f(n-2),输出前50项,每行输出5个值
#include <iostream>
using namespace std;
void main()
{
int f1=1,f2=1,i;
for(i=3;i<=50;i++)
fi=f(i-1)+f(i-2);
for(i=1;i<=50;i++)
if(i%5==1) cout<<endl;
cout<<fi;
}

--------------------Configuration: a - Win32 Debug--------------------
Compiling...
a.cpp
d:\c++编程\网上例题2\a.cpp(8) : error C2065: 'fi' : undeclared identifier
d:\c++编程\网上例题2\a.cpp(8) : error C2065: 'f' : undeclared identifier
执行 cl.exe 时出错.
a.obj - 1 error(s), 0 warning(s)
展开
 我来答
我能won
2013-11-28
知道答主
回答量:21
采纳率:0%
帮助的人:16.1万
展开全部
#include <iostream>
using namespace std;
void main()
{
int f[51],i;
f[1]=1,f[2]=1;
for(i=3;i<=50;i++)
f[i]=f[i-1]+f[i-2];
for(i=1;i<=50;i++)
{
if(i%5==1) cout<<endl;
cout<<f[i]<<" ";
}
}

这是斐波那契数列非递归写法 但最后几个数可能超出范围了 是负数 你的程序思想是对的,但fi没有定义,f()是函数形式,应在main函数外写一个递归函数
更多追问追答
追问
f[51]什么意思
追答
定义一个一维数组,大小是51
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Derek_wangcai
2013-11-28
知道答主
回答量:7
采纳率:0%
帮助的人:7.9万
展开全部
/*哪有fi中i的变量还能改变fi的变量!是不是有点绕,i可以作为数组的下标那么f就应该是数组的数组名(也就是数组的首地址)*/

#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
int f[50] = {0};
f[0] = f[1] = 1;
for(int i=2;i<50;i++)
f[i]=f[i-1]+f[i-2];
for (i = 0; i<50; ++i)
{
cout<<setw(12)<<f[i];
if ( (i+1)%5 == 0)
{
cout<<endl;
}
}
return 0;

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniapp9z3i2QlBMcDJ8
2013-11-28 · 超过30用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:47.1万
展开全部
你定义了f1 for里面用地是fi 还有你f函数没有函数体 要自己写个f 函数
追问
具体怎么改啊?
追答
#include 
void main()
{
//在函数内填写代码
int n,i,sum,p,q;
int a[17];
sum=0;
for(i=0;i>a[i];
sum+=a[i];
}
n=i;
p=sum/10;
coutp)
cout<<a[i];
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式