qq_30478535
qq_30478535
采纳率100%
2019-04-11 10:06

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • mustuo mustuo 2年前

    判断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;
    }
    
    
    点赞 1 评论 复制链接分享
  • qq_24931563 噶求偶 2年前

    #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);
    }

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

    点赞 评论 复制链接分享

相关推荐