发布网友
共3个回答
热心网友
改成图片上的样子就可以了,有注释处注意看。
热心网友
很简单,x1和x2这两个变量在使用前并没有被初始化过,所以运行的结果是未定义的。正常情况下编译器会报警提示的。
我改了个简单版本,你可以先调自己的然后看看这个。
热心网友
void main()
{
int k,n,sum;
sum=0;
printf("Enter n:");
scanf("%d",&n);
for(k=1;k<=n;k++)
sum=sum+fib(k);
printf("Fibonacci's %d\n",sum);
}
int fib(int a)
{
int i,x1,x2,x;
x1=x2=1;
if(a==1||a==2)
x=1;
else
{
for(i=3;i<=a;i++)
{
x=x1+x2;
x1=x2;
x2=x;
}
}
return x;
}