用c语言编写程序,用数组输出Fibonacci数列前50项哪里错了????
#include<stdio.h>intmain(){inta[50],i;a[0]=1;a[1]=2;printf("201723020602谷金鹏\n");print...
#include<stdio.h>
int main()
{
int a[50],i;
a[0]=1;
a[1]=2;
printf("201723020602谷金鹏\n");
printf("1,");
for(i=1;i<=49;i++)
{
a[i]=a[i-1]+a[i-2];
printf("%d,",a[i]);
}
return 0;
} 展开
int main()
{
int a[50],i;
a[0]=1;
a[1]=2;
printf("201723020602谷金鹏\n");
printf("1,");
for(i=1;i<=49;i++)
{
a[i]=a[i-1]+a[i-2];
printf("%d,",a[i]);
}
return 0;
} 展开
4个回答
展开全部
//我修改了你代码,把一些有问题的代码都注释了,现在运行结果应该没问题了的
#include<stdio.h>
/*
若干项之后,这个值已经超出了int所能表示的范围了,所以不能用int来表示
*/
typedef unsigned long long int uint64;
int main()
{
//int a[50],i;
uint64 a[50];
int i;
a[0]=1;
//a[1]=2;
a[1]=1;
printf("201723020602谷金鹏\n");
printf("1,1,");
//for(i=1;i<=49;i++)
for(i=2;i<50;i++)
{
a[i]=a[i-1]+a[i-2];
//printf("%d,",a[i]);
printf("%llu,",a[i]);
}
return 0;
}
展开全部
for循环里面,i=1的时候,a[i-2]就是a[-1]了,程序就崩了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("1 1 ");
for ( i=2;i<=49;i++ )
for ( i=2;i<=49;i++ )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-12-15
展开全部
for循环,第一步i=1,导致i-2=-1,访问越界了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询