函数 void fun(float *sn,int n)的功能是:根据以下公式计算 S,计算结果通过形 参指针 sn 传回;n 通过实参传入,n 的值大于等于 0。请填空,编写出主函数,使之成为完整 程序,上机调试运行。 2 1 1 7 1 5 1 3 1 1 n S void fun(float *sn,int n) { float s=0.0,w,f=-1.0; int i=0; for (i=0;i<=n;i++); { f= * f; w=f/(2*i+1); s+=w; } =s; }
时间: 2024-01-16 13:02:53 浏览: 48
填空部分为:*f=-1.0; 和 *sn=s;。下面是完整程序:
```
#include <stdio.h>
void fun(float *sn,int n) {
float s=0.0,w;
float f=-1.0;
int i=0;
for (i=0; i<=n; i++) {
f = -1 * f;
w = f / (2 * i + 1);
s += w;
}
*sn = s;
}
int main() {
float s;
int n;
printf("n=");
scanf("%d",&n);
fun(&s,n);
printf("S=%f\n",s);
return 0;
}
```
该程序实现了一个计算数学级数的函数fun,可以根据公式计算级数S的值,并将结果通过指针sn返回给调用者。主函数中,用户输入级数的项数n,然后调用函数fun计算级数的和,并将结果打印输出。
相关问题
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
我可以回答这个问题。函数fun的公式如下:s = 1 + 1/2 + 1/3 + ... + 1/n。函数fun的实现如下:
double fun(int n) {
double s = .;
for (int i = 1; i <= n; i++) {
s += 1. / i;
}
return s;
}
函数 void fun(float *sn,int n)的功能是:根据以下公式计算 S,计算结果通过形参指 针 sn 传回;n 通过实参传入,n 的值大于等于 0。请填空,并编写出主函数,使之成为完整 程序,上机调试运行。 2 1 1 7 1 5 1 3 1 1 n S void fun(float *sn,int n) { float s=0.0,w,f=-1.0; int i=0; for (i=0;i<=n;i++); { f= * f; w=f/(2*i+1); s+=w; } =s;
完整程序如下:
```c++
#include <iostream>
using namespace std;
void fun(float *sn, int n) {
float s = 0.0, w, f = -1.0;
int i;
for (i = 0; i <= n; i++) {
f = -f;
w = f / (2 * i + 1);
s += w;
}
*sn = s;
}
int main() {
float sn;
int n;
cout << "请输入n的值:" << endl;
cin >> n;
fun(&sn, n);
cout << "S的值为:" << sn << endl;
return 0;
}
```
该程序通过调用函数 `fun`,计算出公式中的 S 值,并将结果通过指针 `sn` 传回主函数中,最后输出 S 的值。注意在循环中,需要将变量 `f` 取反,以实现加减号交替的效果。