C语言 declaration syntax error 高手帮忙看下怎么改

来源:百度知道 编辑:UC知道 时间:2024/06/16 22:36:10
main( )
{
long int f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=40;i++)
{
printf("%12ld%12ld",f1,f2);
f1=f1+f2;
f2=f2+f1;
}
}
long int fib(int n)
{int c;
if(n==1)c=1;
else if(n==2)c=2;
else c=fib(n-2)+fib(n-1);
return(c);
}
{int i;
for(i=1;i<=40;i++)
printf("%15ld",fib(i));
}

#include <stdio.h>
void main()
{
long int f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=40;i++)
{
printf("%12ld%12ld",f1,f2);
f1=f1+f2;
f2=f2+f1;
}
}
long int fib(int n)
{
int c;
if(n==1)c=1;
else if(n==2)c=2;
else c=fib(n-2)+fib(n-1);
return(c);
}
{
int i;
for(i=1;i<=40;i++)
printf("%15ld",fib(i));
}
还有一个错误,需要题目

/*
long int 4个字节
范围:-2147483648~2147483647
斐波那契数列后来的数字很大,出现负数表示溢出了,没办法的事情。
解决方案:
使用double
双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字

*/

#include <stdio.h>

main()
{
double f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=40;i++)
{
printf("%20.0lf%20.0lf",f1,f2);
f1=f1+f2;
f2=f2+f1;
}
}

/*
double fib(int n)
{double c;
if