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

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for(i=3;i<N+1;i++)
{
f3=Hale Waihona Puke Baidu1+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<stdio.h>
#include<math.h>
double factorial(double x)
{
double amass;
if(x==0||x==1)
amass=1;
else amass=factorial(x-1)*x;
//递归法求 X 的阶乘
return amass;
}
int main()
一、用迭代法求斐波那契数列。
#include<stdio.h> #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);
{
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; }
相关文档
最新文档