用c语言做一个代码,要求实现函数p(n,x)=1 (n=0) x (n=1) (2n-1)P(n-1,x)-(n-1)P(n-2,x)/n (n>1) 。运用函数接口:double P (int n,double x)
时间: 2023-12-25 22:04:10 浏览: 23
好的,我明白了。以下是实现该函数的C语言代码:
```
#include <stdio.h>
double P(int n, double x) {
if (n == 0) {
return 1;
} else if (n == 1) {
return x;
} else {
double p_n_minus_2 = 1;
double p_n_minus_1 = x;
double p_n = 0;
for (int i = 2; i <= n; i++) {
p_n = (2 * i - 1) * p_n_minus_1 - (i - 1) * p_n_minus_2 / i;
p_n_minus_2 = p_n_minus_1;
p_n_minus_1 = p_n;
}
return p_n;
}
}
int main() {
int n = 10;
double x = 1.5;
double result = P(n, x);
printf("P(%d, %f) = %f\n", n, x, result);
return 0;
}
```
这个代码会求出P(n, x)的值,其中n和x由函数参数给出。如果n是0,返回1;如果n是1,返回x;否则,按照题目中的递推式子进行计算。最后,main()函数演示了如何使用P()函数并打印出结果。希望对你有帮助,如果还有其他问题,请继续问我。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)