C语言程序设计题,数列和

S=1/2-1/2×3/4+1/2×3/4×5/6-后面重复循环
输入10,结果为0.206936

这个可以用递归

#include <stdio.h>
float f(int n)
{
    if (n == 0) return 0.5;
    else return f(n - 1) * (2 * n + 1.0) / (2 * n + 2.0);
}
int main(void) { 
    float sum = 0;
    int i;
    int n;
    scanf("%d", &n);
    int c = 1;
    for(i = 0; i < n; ++i){
        sum += f(i) * c;
        c = -c;
    }
    
    printf("%f", sum);
    return 0;
}

img