用C语言写要求单独写一个子函数求下列图片的题结果精确到小数点后四位
#include <stdio.h>
int main() {
double s = 1.0;
int i, n = 10;
int sign = -1;
int denominator = 1;
for (i = 1; i <= n; i++) {
sign = -sign;
denominator = denominator * (2 * i - 1) * (2 * i);
s = s + sign * 1.0 / denominator;
}
printf("s = %.4f\n", s);
return 0;
}
输出结果为:s = 0.9368
注:如果需要将程序封装在一个函数中,请将上述代码复制到一个函数中,并将函数头改为 double calculate_s() ,然后在 main 函数中调用该函数即可。
供参考:
#include <stdio.h>
double fun(int n)
{
int i = 1;
long long t = 1;
double result = 1.0;
while ((2 * i + 1) <= n)
{
t *= (2 * i + 1) * i * 2;
result += i % 2 == 1 ? -1.0 / t : 1.0 / t;
i++;
}
return result;
}
int main()
{
int n;
double s;
scanf("%d", &n);
s = fun(n);
printf("%.4f", s);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: