可以实现打印前n个fibonacci数列
#include<stdio.h>
int main()
{
void F(int n);
int n;
printf("请输入一个整数n,帮您打印出前n个Fibonacci数列!:");
scanf("%d",&n);
F(n);//计算和输出数列的函数
}
void F(int n)
{
long x,f1,f2;//定义为长整型是怕加到后来数字太大
f1=f2=1;
if(n<=0)
{
printf("输入错误请重新输入(n>0)!\n");
}
else if(n<=2)//当n<2时
{
for(;n>0;n--)
{
printf("%ld ",f1);
}
}
else//当n>2时
{
for(x=0;x<n/2;x++)//(n/2)是因为一下子打印f1和f2两个元素,所以循环次数要除以2
{
printf("%ld %ld ",f1,f2);
if(n%2==1&&x==(n/2-1))//实现如果当n为奇数时输出的数列数量也为奇数
{ //分支条件中(n/2-1)是多打印最后一个数列元素
f1=f1+f2;
printf("%ld ",f1);
}
f1=f1+f2;
f2=f1+f2;
}
printf("\n");
}
}
QQ图片20180127040133.png
睡觉了,再不睡猝死了;
*Fibonacci数列的打印,这时间点,我真的在修仙
网友评论