#include "stdafx.h"
#include <stdio.h>
int F(int n)
{
if(n=0) return 1;
else if(n=1) return 1;
else return (F(n-1)+F(n-2));
}
int main(int argc, char* argv[])
{
int n;
scanf("%d",&n);
printf("%d",F(n));
return 0;
}
哪里错了?,我输n多少,都显示1
#include <stdio.h>
int sum(int j);
int j;
int main()
{
printf("请输入斐波那契数列的项数(最大为第57项):\n");
scanf_s("%d", &j);
if (j == 1 || j == 2)
{
printf("第%d项的值为1",j);
}
else
{
sum(j);
}
return 0;
}
int sum(int j)
{
int i,a=1,b=1;
for (i = 3; i <= j; i++)
{
if (i % 2 == 1)
{
a = a + b;
}
else if (i % 2 == 0)
{
b = a + b;
}
}
if (j % 2 == 1)
{
printf("第%d项的值为%d", j, a);
}
else if (j % 2 == 0)
{
printf("第%d项的值为%d", j, b);
}
}