程序填空题:利用指针输出斐波那契数列前20项
请完善程序,实现以下程序功能:已知斐波那契数列的前两项均为1,从第3项开始,每一项的值为其前面两项之和。下面程序的功能为使用指针依次计算出斐波那契数列的前20项并保存到数组a中,然后再顺序输出。
#include <stdio.h>
int main(void)
{int f[20],i,*p1,*p2,*p3;
f[0]=1;
;
//在下面的循环中,指针p1,p2,p3依次存储f[i-2],f[i-1],f[i]的地址
for(i=2;;i++)
{p1=&f[i-2];
p2=;
p3=&f[i];
*p3=;
}
p1=f;//指针p1存储数组f的首地址
for(i=0;i<=19;i++)//依次输出数列的前20项
{printf("%d ",*p1);
;
}
return 0;
}
答案:
第1空: f[1]=1
第2空:i<=19
第3空:&f[i-1]
第4空:*p1+*p2
第5空:p1++
#include <stdio.h>
int main(void)
{int f[20],i,*p1,*p2,*p3;
f[0]=1;
;
//在下面的循环中,指针p1,p2,p3依次存储f[i-2],f[i-1],f[i]的地址
for(i=2;;i++)
{p1=&f[i-2];
p2=;
p3=&f[i];
*p3=;
}
p1=f;//指针p1存储数组f的首地址
for(i=0;i<=19;i++)//依次输出数列的前20项
{printf("%d ",*p1);
;
}
return 0;
}
答案:
第1空: f[1]=1
第2空:i<=19
第3空:&f[i-1]
第4空:*p1+*p2
第5空:p1++