程序编程:sum=1-1⼀2+1⼀3-1⼀4+.....+(-1)*(n-1)*1⼀n,求sum的近似值,直到最后一项的项值小于1e-6为止。

2025-02-22 22:04:05
推荐回答(2个)
回答1:

最后一项小于1e-6,即要算到第1/1000001项;
#include "stdio.h"
void main()
{
float sum=0.0,n=1.0;
while(n<1000001)
{
if((int)n%2)
sum+=1/n;
else
sum-=1/n;
n+=1.0;
}
printf("%f\n",sum);
}

回答2:

#include"stdio.h"
#include"math.h"
int main (void)
{
int flag,denominator,i; //flag为第i项符号,denominator为第i项分母,
double sum,item;
flag=denominator=1; //置初始值
sum=0; //存放总和
item=0; //置初始值,使能够进入循环
while(item<1e-6) //判断条件是否符合
{
item=flag*1.0/denominator; //计算第i项的值
sum=sum + item; //计算总和
flag=-flag; //第i项符号取反
denominator=denominator+2; //计算第i项分母
}
printf("sum = %.4f\n",sum);

return 0;
}