帮忙看一下代码哪里错了

这是一道计算级数的题目图片图片图片

n有没随i变化,改成i就对了

你的n没有给初始值呀

flag*1.0/(double)(2 * i - 1)

n没用上,10001相当于n了

在for循环里把第一句改为:sum+=falg*1.0/(2*i-1),你用n是不对的。还有建议我觉得与其用float,不如都用double好一些。希望对你有帮助。

float  sum = 0;
float  flg=1;
int i = 1;
float psum = 1;
while(psum>=0.0001||psum<=-0.0001)
{
    psum =flg*1.0/(float)(2*i-1);
    sum += psum;
    flg = -flg;
    i++;
}
printf("%lf",psum);
printf("%lf",sum);

sum+=(float)falg*1.0/(2*i-1)