文档库 最新最全的文档下载
当前位置:文档库 › C语言(迭代法与递归法)

C语言(迭代法与递归法)

C语言(迭代法与递归法)
C语言(迭代法与递归法)

一、用迭代法求斐波那契数列。

#include

#define N 35 //定义输出项数

int main()

{

int f1=1,f2=1,f3=0;

int i;

int n=2;

printf("Fibonacci数列的前%d项为:\n",N);

printf("%d\t%d\t",f1,f2);

for(i=3;i

{

f3=f1+f2;

printf("%d\t",f3);

f1=f2; f2=f3; //迭代

n++;

if(n%5==0) //控制每行输出项数

putchar('\n');

}

return 0;

}

二、求sin(x).

//递归法:函数在定义时直接或间接调用了自己。

//sin(x)=x-x^3/3!+x^5/5!+...+(-1)^n*x^(2*n+1)/(2*n+1)!

#include

#include

double factorial(double x)

{

double amass;

if(x==0||x==1)

amass=1;

else

amass=factorial(x-1)*x; //递归法求X的阶乘return amass;

}

int main()

{

double sum=0;

double n=1;

int sign=1;

double x;

printf("输入sin(x)中的x:\n");

scanf("%lf",&x);

do

{

sum=sum+sign*pow(x,n)/factorial(n);

n=n+2;

sign=-sign;

}while(pow(x,n)/factorial(n)>=1e-6);

printf("sin(%.2lf)=%.2lf\n",x,sum);

return 0;

}

相关文档