大一C语言,数列求和


#include<stdio.h>
void main()
{
    double n,m,a;
    double i=0;
    int b;
    while(scanf("%lf",&n)!=EOF)
    {
        m=1;
        i=0;
        for(b=1;b<=n;b++)
        {
            if(0==b%2)
            {
            m=1/b;
            i=i-m;
            }
            else
            {
            m=1/b;
            i=i+m;
            }
        }
        printf("%.2lf\n",i);
    } 
}

调试时,发现第一次循环后m都等于0,不知道咋改了
题目要求图1

img


#include<stdio.h>
void main()
{ 
    int k;
   int i=1;  
   double sum;    
   int   n=-1; 
   printf("请输入你想输入的N\n");
   scanf("%d",&k); 
   for(sum=0;i<=k;i++)  
   { 
        n=-n; 
       sum=(sum+(1.0/i*n));
     }
     printf("计算结果是 %.6f\n",sum);
}