c语言 新手求解答
为什么以下两个程序的运行结果不同...我是为了解决求π的近似值写的两个相同的程序。(两个程序的变量名某些地方不同)
代码:(1),
#include<stdio.h>
#include<math.h>
int main()
{
int sign=1,y=1;
double pi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-6)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
y++;
}
printf("%d\n",y);
pi=pi*4;
printf("%10.8f\n",pi);
return 0;
}
(2),
#include<stdio.h>
#include<math.h>
int main ()
{
int i=1;
float x=1.0,y,pi=0.0,j=0.0;
for(y=1;;y++)
{
j=i/x;
if(fabs(j)<1e-6)break;
pi=pi+j;
x=x+2;
i=-i;
}
printf("%.0f\n",y);
pi=pi*4;
printf("%10.8f\n",pi);
return 0;
}