利用c语言编写程序,计算序列1-2/3+3/5-4/7+5/9-6/11+....+(-1)r1n/(2n-1)的前n项之和,要求n为从键盘上获取的10-20之间的正整数。求和结果用输出函数查看,保留三位小数。
时间: 2023-05-27 20:02:08 浏览: 76
```c
#include <stdio.h>
int main() {
int n, r = -1; // 初始为-1
double sum = 0.0;
do {
printf("请输入10-20之间的正整数n:");
scanf("%d", &n);
} while (n < 10 || n > 20);
for (int i = 1; i <= n; i++) {
double a = (double)i; // 分子
double b = 2 * a - 1; // 分母
sum += r * a / b;
r = -r; // 正负号变换
}
printf("前%d项之和为:%.3f\n", n, sum);
return 0;
}
```
相关问题
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和可以通过编写程序来计算。以下是一个C语言的例子:
```c
#include <stdio.h>
int main() {
int n, i, z, m;
double a = 0.0;
double f = 1.0;
z = 1;
m = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
a = a + f * z / m;
f = f * -1.0;
z = z + 1;
m = m + 2;
}
printf("%.3f", a);
return 0;
}
```
输入格式为一个整数N,表示要计算前N项之和。程序中使用了一个循环来计算每一项的值,并将其加入到总和中。其中,变量f用于控制正负号,变量z用于计算分子,变量m用于计算分母。最后,使用printf函数输出结果,保留三位小数。
要求用c语言编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
以下是计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和的C语言程序:
```c
#include <stdio.h>
int main() {
int i, n;
double sum = 0;
scanf("%d", &n);
for (i = 1; i <= n; ++i) {
if (i % 2 == 1) {
sum += 1 / (double)((i - 1) * 3 + 1);
} else {
sum += -1 / (double)((i - 1) * 3 + 1); }
}
printf("sum = %.3lf", sum);
return 0;
}
```
程序中,我们使用了一个for循环来计算序列的前N项之和。在循环中,我们使用了if语句来判断当前项的正负号,并根据公式计算出当前项的值,然后将其加入到总和中。最后,我们使用printf函数输出总和,保留小数点后三位。