|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么我的程序不正常循环
#include<stdio.h>
#include<math.h>
int main()
{
int i=1,j,n=1;
double sum,a,z,x;
bool flag=1;
x=1e-8;
while(flag)
{
a=1/i;
if(a<x)
{
flag=0;
}
i=i+2;
}
printf("%.7f",x);
for(j=1;j+2<i;j+2)
{
z=1/j*pow(-1,(n+1));
sum+=z;
n++;
}
printf("%.7f",sum);
return 0;
}
答案
#include <stdio.h>
#include <math.h>
int main()
{
int sign = 1; // 表示符号
double pi = 0.0, n = 1, term = 1.0; // n表示分母,term表示当前项的值
while (fabs(term) >= 1e-8) // 1e-8表示10^(-8)
{
pi = pi + term;
n = n + 2;
sign = -sign;
term = sign / n;
}
pi = pi * 4;
printf("pi = %10.7f\n", pi);
return 0;
}
- for(j=1;j+2<i;)
- {
- z=1/j*pow(-1,(n+1));
- sum+=z;
- n++;
- j+=2;
- }
复制代码
|
|