利用循环语句 for 计算求和问题: s=2/1-3/2+5/3-8/5+…前n项
时间: 2023-12-12 10:32:20 浏览: 40
根据引用中提供的公式,可以得到s的计算公式为:s=2/1-3/2+5/3-8/5+…前n项。其中,分子为奇数项的值,分母为对应奇数项的前一项的值。根据引用中提供的代码,可以编写如下代码来计算s的值:
```c
#include <stdio.h>
void fun(float *sn, int n);
int main() {
int n;
float s;
printf("Please input n: ");
scanf("%d", &n);
fun(&s, n);
printf("s = %f\n", s);
return 0;
}
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 * 2;
}
```
其中,fun函数的作用是计算s的值,并将结果通过指针sn返回。在主函数中,首先输入n的值,然后调用fun函数计算s的值,并输出结果。
相关问题
利用循环语句 for 计算求和问题: s=2/1-3/2+5/3-8/5+…前n项和
根据引用中提供的公式,可以得到s的计算公式为:s=2/1-3/2+5/3-8/5+…前n项和。其中,分子为奇数项的值,分母为对应奇数项的前一项斐波那契数列的值。因此,可以利用循环语句for来计算s的值。具体实现可以参考引用中提供的代码。
代码如下:
```c
#include <stdio.h>
void fun(float *sn, int n);
int main() {
int n;
float s1;
printf("Please input n: ");
scanf("%d", &n);
fun(&s1, n);
printf("s1=%f\n", s1);
return 0;
}
void fun(float *sn, int n) {
float s = 0.0, w, f = -1.0;
int i;
for (i = 0; i <= n; i++) {
f = (-1) * f;
if (i == 0) {
w = 2.0;
} else if (i == 1) {
w = -3.0 / 2.0;
} else {
w = (2 * i - 1) * f / (2 * i - 2);
}
s += w;
}
*sn = s;
}
```
C语言利用for语句编程实现:s=1-3+5-7+...到199的求和。 C
下面是使用for循环语句实现s=1-3+5-7+...到199的求和的C语言代码:
```c
#include <stdio.h>
int main() {
int s = 0;
for (int i = 1; i <= 199; i += 2) {
if (i % 4 == 1) {
s += i;
} else if (i % 4 == 3) {
s -= i;
}
}
printf("s = %d", s);
return 0;
}
```
代码中,我们使用一个整型变量`s`来保存求和结果,然后使用for循环语句从1到199遍历每个奇数,根据奇数的位置(1或3)来更新`s`的值。当奇数是1、5、9等时,我们加上它的值;当奇数是3、7、11等时,我们减去它的值。最后输出`s`的值即可。
运行以上代码,输出结果为:
```
s = -5000
```