2、输入一个正整数 n ,计算交错序列1-2/3+3/5-4/7+5/9-6/11+...的前 n 项之和,输出时保留3位小数. 源程序及主要算法说明:

2、输入一个正整数 n ,计算交错序列1-2/3+3/5-4/7+5/9-6/11+...的前
n 项之和,输出时保留3位小数.
源程序及主要算法说明:

参考如下:

#include<stdio.h>
void main(){
    int a=1,b=1;
    double sum =0;
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        sum += a * 1.0* i / b;
        a=-a; // 控制正负
        b+=2; // 控制分母
    }
    printf("%.3lf",sum);
}


如有帮助,欢迎点赞+采纳哈!

代码:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n = 0; 
    int i = 0;
    double sum = 0;
    int flag = 1;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        sum = sum + 1.0*flag*i / (2 * i - 1);
        flag = -flag;
    }
    printf("%.3f", sum);
    return 0;
}

供参考:

#include <stdio.h>
int main()
{
    int a, i, n = 3;
    double s = 0;
    scanf("%d", &n);
    for (a = 1, i = 1; i <= n; a += 2, i++)
        s += i % 2 == 0 ? i * (-1.0) / a : i * 1.0 / a;
    printf("%.3f", s);
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^