​贺老师教学链接​​  ​​C语言及程序设计初步​​​ ​​本课讲解​

例:求Fibonacci数列前40个数

#include <stdio.h>
int main()
{
long f1,f2,fn;
int i;
f1=f2=1;
printf("%ld\t%ld\t",f1,f2);
for(i=3; i<=40; i++)
{
fn=f1+f2;
printf("%ld\t",fn);
if(i%5==0)
printf("\n");
f1=f2;
f2=fn;
}
return 0;
}


另解:在“迭代”中,赋予变量新的含义


#include <stdio.h>
int main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1; i<=20; i++)
{
printf("%ld\t%ld\t",f1,f2);
if(i%2==0)
printf("\n");
f1=f1+f2; //左f1代表第3个数,是第1、2数之和
f2=f2+f1; //左f2代表第4个数,是第2、3数之和
}
return 0;
}


求级数公式(精确到小数点后5位) 


#include <stdio.h>
#include <math.h>
int main()
{
double x, sum=1, term=1;
int i=1;//一定要赋初值
scanf("%lf", &x);
while(fabs(term)>=1e-5)
{
term=term*(-1)*x*x/((2*i)*(2*i-1));
sum=sum+term;
i++;
}
printf("%f\n", sum);
return 0;
}


另一个正解


#include <stdio.h>
#include <math.h>
int main()
{
double x, sum=0, term=1;
int i=1;
scanf("%lf", &x);
while(fabs(term)>=1e-5)
{
sum=sum+term;
term=term*(-1)*x*x/((2*i)*(2*i-1));
i++;
}
printf("%f\n", sum);
}