浮点型和整型问题
#include<stdio.h>#include<math.h>
void main()
{
int s;
float pi,t,n;
n=1;s=1;pi=0;t=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
#include<stdio.h>
#include<math.h>
void main()
{
int s,n;
float pi,t;
n=1;s=1;pi=0;t=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
这两个程序有颜色的部分是我出现问题的地方,第一次我不看书本自己打出来的结果是第二个程序,n被我强调为整型,但计算的pi=4.000000,而第一个是书本的完整例题,Pi=3.141594,为什么n要为浮点型呢,它是怎么计算。