江苏⼤学计算机考研805编程题⽂章⽬录
函数递归
2019
#include <stdio.h>
int main()
{float fab(float,int);
float x;
int n;
scanf("%f %d",&x,&n);
float sum;
sum=fab(x,n);
printf("%f",sum);
return 0;
}
float fab(float x,int n)
{
if(n==0)
return 1;
else
return x*fab(x,n-1) ;
}
2017 切⽐雪夫多项式
#include <stdio.h>
#include <stdlib.h>
int main()
{ float add(int ,float);
FILE *fp;
int n;
float x,sum;
if((fp=fopen(“”,“w”))==NULL)
{
printf(“error”);
exit(0);
}
scanf("%d %f",&n,&x);
while(n)
{
sum=add(n,x);
fprintf(fp,"%6.2f ",sum);
n–;
}
}
float add(int n,float x)
{
if(n0)
return 1;
else if(n1)
return x;
else
return 2x add(n-1,x)-add(n-2,x);
}
组合数
#include <stdio.h>
int p(int,int );
int main()
{ int sum=0;
int n,k;
scanf("%d %d",&n,&k);
sum=p(n,k);
printf("%d ",sum);
return 0;
putchar(10);
}
int p(int n,int k)
{
if(n k||k0)
return 1;
else
return p(n-1,k-1)+p(n-1,k);
}
菲波那数
#include <stdio.h>
#include <stdlib.h>
#define N 20
int p(int );
int main()
{ FILE *fp;
编程递归函数
int n=1;
int each;
int sum=0;
int a;
//
if((fp=fopen(“”,“w”))==NULL) {
printf(“error”);
exit(0);
}
do
{
a=p(n);
fprintf(fp,"%d%c",a,' ');
sum+=a;
n++;}while(n<=20);
printf("%d",sum);
fprintf(fp,"%d",sum);
fclose(fp);
return 0;
}
int p(int n)
{
if(n1)
return 1 ;
else if(n2)
return 1;
else
return (p(n-1)+p(n-2));
}
2014 Hermite
#include <stdio.h>
int p(int ,float);
int main()
{
float x;
int n;
float sum;
scanf("%d %f",&n,&x);
sum=p(n,x);
printf("sum=%f",sum);
return 0;
}
int p(int n,float x)
{
if(n0)
return 1;
else if(n1)
return (2x);
else
return (2x p(n-1,x)-2(n-1)*p(n-2,x)); }
2009 勒让德多项式
#include <stdio.h>
float p(int,float);
int main()
{
int n;
float x;
scanf("%d %f",&n,&x);
float sum=0;
sum=sum+p(n,x);
printf("%f",sum);
}
float p(int a,float b)
{
if(a0)
return 1;
else if(a1)
return b;
else
return ((2*a-1)b p(a-1,b)-(a-1)*p(a-2,b)/4)/a ; }
2007 勒让德多项式
#include <stdio.h>
float p(int ,float);
int main()
{
int n;
float x;
float sum=0;
scanf("%d %lf",&n,&x);
sum=p(n,x);
// sum=p(4,1.5);
printf("%f",sum);
}
float p(int a,float b)
{
if(a0)
return 1;
else if(a1)
return b;
else
return ((2*a-1)b p(a-1,b)-(a-1)*p(a-2,b))/a;
}
迭代法
2017 ⽜顿迭代法
#include <stdio.h>
#include <math.h>
int main()
{
float x0,x1=-1,f1,f;
do{
x0=x1;
f=pow(x0,41)+pow(x0,3)+1;
f1=41pow(x0,40)+3pow(x0,2)+1;
x1=x0-f/f1;
}while(fabs(x0-x1)>1e-6);
printf("%f",x1);
}
2014
#include <stdio.h>
#include <math.h>
int main()
{ int n=1;
double x0,x1=2.7;
do{
x0=x1;
x1=pow(1+1/n,n);
n++;
}while(fabs(x0-x1)>=1e-6);
printf("%lf %d",x1,n);
return 0;
}
2009 求近似值
#include <stdio.h>
#include <math.h>
#define EPS 1e-6
int main()
{
float foat=1.0;
float p=1;
float sum=0;
do
{
sum=sum+p;
n=n+2;
foat=-foat;
p=foat/n;
}while(fabs(p)>EPS);
printf("%10.8f",4*sum);
return 0;
2018 ⽜顿迭代法
#include <stdio.h>
#include <math.h>
int main()
{
float x0,x1=-1,f1,f;
do{
x0=x1;
f=pow(x0,41)+pow(x0,3)+1;
f1=41pow(x0,40)+3pow(x0,2)+1; x1=x0-f/f1;
}while(fabs(x0-x1)>1e-6);
printf("%f",x1);
}
题⽬给定义,编程序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。