C语言输出斐波那契数列前30项,我写的哪错了?
#include<stdio.h>main(){inta,b,i,c;a=0;b=1;c=1;for(i=1;i<=30;i++){printf("%d,",c);c=b...
#include<stdio.h>
main()
{
int a,b,i,c;
a=0;
b=1;
c=1;
for(i=1;i<=30;i++)
{
printf("%d,",c);
c=b+a;
b=c;
a=b;
if(i%5==0)
putchar('\n');
}
}
出来的是1,1,2,4,8…… 展开
main()
{
int a,b,i,c;
a=0;
b=1;
c=1;
for(i=1;i<=30;i++)
{
printf("%d,",c);
c=b+a;
b=c;
a=b;
if(i%5==0)
putchar('\n');
}
}
出来的是1,1,2,4,8…… 展开
6个回答
展开全部
你这里b=c这里b=2了,然后a=b,这个时候b又改变了,所以错了
追问
那应该怎么写?
追答
恩恩,调一下顺序就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
long fibonacci1(int n)
{
long result;
long previous_result;
long next_older_result;
result=previous_result=1;
while(n>2)
{
n-=1;
next_older_result=previous_result;
previous_result=result;
result=previous_result+next_older_result;
}
return result;
}
{
long result;
long previous_result;
long next_older_result;
result=previous_result=1;
while(n>2)
{
n-=1;
next_older_result=previous_result;
previous_result=result;
result=previous_result+next_older_result;
}
return result;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
int i, s[30];
for(i=0;i<=30;i++)
{
if(i<2)
s[i]=1;
else s[i]=s[i-2]+s[i-1];
printf("%d ",s[i]);
}
printf("\n");
}
void main()
{
int i, s[30];
for(i=0;i<=30;i++)
{
if(i<2)
s[i]=1;
else s[i]=s[i-2]+s[i-1];
printf("%d ",s[i]);
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先给a赋值,a=b;再给b赋值,b=c;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询