这是一道计算级数的题目
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)