C语言,本关任务:编写函数fun(),实现计算并返回多项式s=1+1/(1+2)+1/(1+2+3)+ ...+1/(1+2+3+...+n)的值。
时间: 2023-09-11 14:09:04 浏览: 156
根据题目中给出的多项式公式,我们可以写出以下的C语言代码来计算并返回多项式s的值:
```c
#include <stdio.h>
double fun(int n)
{
double s = 0.0; // 初始化多项式的值为0
int i, j;
for (i = 1; i <= n; i++) { // 外层循环控制项数
double p = 1.0; // 初始化每一项的值为1
for (j = 1; j <= i; j++) { // 内层循环控制每一项的分母
p *= j + 1.0; // 计算每一项的分母
}
s += 1.0 / p; // 将每一项的值加到多项式的值上
}
return s; // 返回多项式的值
}
int main()
{
int n;
printf("请输入项数n:");
scanf("%d", &n);
printf("多项式的值为:%lf\n", fun(n));
return 0;
}
```
在这段代码中,我们定义了一个函数`fun()`,它接受一个参数n,表示多项式的项数。函数内部使用两层循环来计算多项式的值,外层循环控制项数,内层循环控制每一项的分母。在每一次内层循环中,我们计算出每一项的分母,并将其累乘到一个变量p中,最后将每一项的值1/p累加到多项式的值s中。最终,函数返回多项式的值s。
在`main()`函数中,我们通过用户输入来获得多项式的项数n,然后调用`fun()`函数来计算多项式的值,并将结果输出到屏幕上。
阅读全文