第1个回答 2012-05-22
#include <stdio.h>
void main()
{
long f(int n);
int i;
for(i=1;i<=15;i++)
{
printtf ("%d",f(i));
if(i%5==0) printf("\n");
}
}
long f(int n)
{
long t;
if(n==1) t=0;
else if(n==2) t=1;
else if(n>=3)
t=f(n-2)-2*f(n-1);
return(t);
}我帮你改了一下你自己看吧!不懂的话可以问我啊!咱两在探讨探讨啊
第2个回答 2012-05-22
你编译能通过吗?
else if(i>=3) t=f(n-2)-2f(n-1);应该是else if(n>=3)吧?
别的没看出什么问题啊?你要说是算出来结果不对还是什么?找错误总有个方向啊
第3个回答 2012-05-22
#include <stdio.h>
void main()
{
long f(int n);
int i;
for(i=1;i<=15;i++)
{
printf ("%d ",f(i));//不是printtf
if(i%5==0) printf("\n");
}
}
long f(int n)
{
long t;
if(n==1) t=0;
else if(n==2)t=1;
else if(n>=3)
t=f(n-2)-2*f(n-1);//不是i,2少了*号
return t;
}
这是修改后的应该没问题吧~
第4个回答 2012-05-22
#include <stdio.h>
void main()
{
long f(int n);
int i;
for(i=1;i<=15;i++)
{
printf ("%7d",f(i));
if(i%5==0) printf("\n");
}
}
long f(int n)
{
long t;
if(n==1) t=0;
else if(n==2) t=1;
else if(n>=3) t=f(n-2)-2*f(n-1);
return t;
}
间隔到底是多少啊?
第5个回答 2012-05-22
long f(int n)
{
long t;
if(n==1) t=0;
else
if(n==2)
t=1;
else
t=f(n-2)-2*f(n-1);
return(t);
}