#include
double fun(int n,double x)
{if(n=0)
return 1;
if(n=1)
return x;
if(n>1)
return ((2*n-1)*x-fun(n-1,x)-(n-1)*fun(n-3,x))/n;
}
int main(){
int n;
double x;
scanf("%d %l",&n,&x);
double fun(int n,double x);
printf("%.2f",fun(n,x));
return 0;}
使用%.2lf输出,因为你的返回值是double类型
if(n=1)改成if(n==1);if(n=0)改成if(n==0)
scanf("%d %lf",&n,&x);不是scanf("%d %l",&n,&x);
#include <stdio.h>
double fun(int n,double x)
{if(n==0)
return 1;
if(n==1)
return x;
if(n>1)
return ((2*n-1)*x-fun(n-1,x)-(n-1)*fun(n-3,x))/n;
}
int main(){
int n;
double x;
scanf("%d %lf",&n,&x);
double fun(int n,double x);
printf("%.2lf",fun(n,x));
return 0;}
输入x为%lf,输出用%.2lf这几个地方改一下就行了
#include <stdio.h>
double fun(int n,double x)
{if(n==0)
return 1;
if(n==1)
return x;
if(n>1)
return ((2*n-1)*x-fun(n-1,x)-(n-1)*fun(n-2,x))/n;
}
int main(){
int n;
double x;
scanf("%d %lf",&n,&x);
double fun(int n,double x);
printf("%.2f",fun(n,x));
return 0;}