#include <stdio.h>
int main()
{
int i;
double k;
double pi;
for (i=1;i<100000;i++)
{
k=2*i-1;
if (i%2==0)
{
pi=pi-4.0/k;
}
else
{
pi=pi+4.0/k;
}
printf("%d %f\n",i,pi);
}
return 0;
}
- 用%2来控制符号,注意π是个小数 ,可以用双精度double类型。
- float单精度浮点数和double双精度浮点数的区别:
- 所占内存不同:float4个字节,double8个字节
- 有效位数不同:float6位,double15位
- 取值范围不同。double数字范围更大
- 处理速度不同。float处理速度比double快。
- 浮点常数通常以double类型存储在内存中。若将浮点常数存储为float类型,将F或f字母附加到其末尾。
程序运行结果如下,仅列出前9项: