C语言中的求和问题 1⼀1-1⼀2+1⼀3.。。。。。+1⼀n

2025-02-03 05:59:05
推荐回答(3个)
回答1:

#include
void main()
{ int k;
int i=1; //对求和中的分母赋值 //自增长的不能是float
double sum; //把sum当作和
int n=-1; //符号变化
printf("请输入你想输入的N\n");
scanf("%d",&k); //%d是输入整数
for(sum=0;i<=k;i++) //用for循环来求和
{ n=-n; //外面的那个循环完全没必要
sum=(sum+(1.0/i*n));

}
printf("计算结果是 %.6f\n",sum);
}

回答2:

#include
void main()

    int k;
   int i=1;   //对求和中的分母赋值  //自增长的不能是float
   double sum;     //把sum当作和
   int   n=-1;  //符号变化
   printf("请输入你想输入的N\n");
   scanf("%d",&k); //%d是输入整数
   for(sum=0;i<=k;i++)  //用for循环来求和
   { 
        n=-n; //外面的那个循环完全没必要
       sum=(sum+(1.0/i*n));
     }
     printf("计算结果是 %.6f\n",sum);
}

回答3:

看不出来,有点建议:计算前面的正负号的时候,不需要循环
if(i%2 == 0) n = 1 ; else n = -1;
还有这个算法可以改进:
1/1-1/2 如果是奇数 1/(1*2)+1/(3*4)+1/(n-2*n-1) + 1/n
如果是偶数 1/(1*2)+1/(3*4)+1/(n-2*n-1)