一个简单的实现:
#include <stdio.h>
double p(int n,double x);
int main(void){
int repeat; //定义存放做几轮运算的变量repeat
int n; //定义p函数的变量n
double x; //定义p函数的变量x
scanf("%d",&repeat); //获取做几次轮运算的变量repeat的值
int i = 0; //获取运算数据计运算计数器
int nArr[repeat]; //存放所有参与运算的变量n
double xArr[repeat]; //存放所有参与运算的变量x
double result[repeat]; //存放每轮运算的结果
while(i<repeat){ //如果没有超过指定次数的运算,就执行下面的操作:获取运算的数据,以及运算
scanf("%d %lf",&n,&x); //获取每轮参与运算的参数n,x
nArr[i]=n; //记录每轮参与运算的n
xArr[i]=x; //记录参与每轮运算的x
result[i]=p(n,x); //记录每轮运算的结果。
i++; //运算轮数计数加一
}
//打印每轮运算结果
for(i=0;i<repeat;i++){
printf("p(%d,%.2lf)=%.2lf\n",nArr[i],xArr[i],result[i]);;
}
return 0;
}
//题目要求的运算函数
double p(int n,double x){
if(n==0){
return 1;
}else if(n==1){
return x;
}else if(n>1){
return ( (2*n-1)*p(n-1,x)-(n-1)*p(n-2,x) )/n;
}
}
这个题目应该是考察循环的运用,以及scanf函数和数组的运用,以及函数的运用