有一分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…, 由用户输入项目数N,求这个数列的前N 项之和

偶数项的符号怎么控制,求完整代码.............偶数项的符号怎么控制,求完整代码.............

判断for循环的迭代变量即可。当迭代变量为偶数的时候,乘上一个-1。

#include<stdlib.h> 
#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);

    int i;
    double a1 = 2, b1 = 1;
    double a2 = 3, b2 = 2;
    double sum = a1/b1 - a2/b2;

    if(n==1) printf("%f\n",a1/b1);
    else if (n==2) printf("%f\n",sum);
    else{
        for(i = 0;i<n-2;i++){
            double exp = a2 / b2;
            if(i%2==0) exp *= -1;
            sum += exp;
            double a = a1 + a2;
            double b = b1 + b2;
            a1 = a2;b1 = b2;
            a2 = a; b2 = b;
        }
        printf("%f\n",sum);
    }
    return 0;
}

#include <stdio.h
#include<math.h
int main()
{
    int n;
    printf("前多少项的和:\n");
    scanf("%d",&n);
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=n;i++)
    {
        sum=sum+a/b;
      if (i % 2 == 0)//判断确定符号
{
t = a;
}
else
{
t = -a;
}
        a=a+ABS(b);//取b绝对值
        b=t;
    }
    printf("前%d项的和为%9.6f\n",n,sum);
}

不确定能跑通,大致思路这样子,参考