求以下级数前n项之和: s = 1 - 1 / 3 + 1 / 5 - 1 / 7 + ...

编程求以下级数前n项之和:
s = 1 - 1 / 3 + 1 / 5 - 1 / 7 + ...
/*输入:正整数n。
*输出:前n项。
不知道第一个和第二个条件语句如何写

img

供参考:

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

怎么还跑出双循环了呢???

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

1.n是个整数,你的循环变量也应该是整数,不要搞个double型
2.循环一次就沟里,不要搞多个循环
3.sum应该写在循环里面

你的代码循环条件太复杂了,循环语句可以多引入几个变量,复杂一点。两个循环最好合成一个,i=1(作为分母);ⅰ<=2n-1(第n项分母为2n-1);ⅰ=ⅰ+2(1、3、5、7...步长为2),正负号交替的问题,用乘以-1解决