void sy(int k)
{
int a[M],i,h;
a[0]=1;
a[1]=1;
for(i=2;i<=k;i++)
{
a[i]=a[i-1]+a[i-2];
h=a[i];
}
cout<
}
其他地不改……
1.i<=k;否则当输入为2时,想得到a[2]时,会不执行,直接跳过。
2.h是sy函数中的全局变量,作用域是该函数,故h=a[i];然后在for{}外边输出可以正确得到值
3.如果想得到从a[2]到a[n]所有的值,可以将cout放在for{}里边,直接输出a[i]即可
可以用数组 但是函数调用结束后 数组就被销毁 不能使用了 函数内部声明定义的数组只能在函数内部使用 你这个程序是直接把数列输出来
cout<a[k-1] 才是第k项 所以应该 cout<
这点多谢其他网友回答的提醒 呵呵
for(i=2;i
cout<
改为
for(i=2;i
cout<
#include
#define M 100
void sy(int k)
{
int a[M],i;
a[0]=1;
a[1]=1;
for(i=2;i
cout<} //加个括号就好了
}
void main()
{
int n;
cin>>n;
sy(n);
}
唉,忘了呀,也可以给我好好讲讲