cout和printf

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:08:00
#include "stdio.h"
#include "math.h"
#include<iostream.h>
void main()
{
float pi=0.0,t=1,i;
int s;
for(i=1.0,s=1;fabs(t)>(1e-6);i=i+2)
{t=s/i;pi=pi+t;s=-s;}
pi=pi*4;
printf("pi=%f\n",pi);
cout<<pi<<endl;
}

结果:cout和printf的结果是不一样的!为什么呢?

cout默认输出精度问题吧
加头文件<iomanip.h>
及cout.setf(ios::fixed);
cout<<setprecision(6)<<pi<<endl;
就可以自由修改cout输出精度了

应该是两种输出方法默认的输出精度不同造成的吧