本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。
2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("%le", &eps);//科学计数法表示的 long double 类型浮点数。
输出格式:
在一行内,按照以下格式输出π的近似值(保留小数点后5位):
PI = 近似值
输入样例:
1E-5
输出样例:
PI = 3.14158
代码实现:(C++)
这里要注意输出格式要求保留小数点后5位,因此添加头文件:#include <iomanip>
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
double item(1),eps,i(1),result(1);
cin>>eps;
while(item>eps){
item*=i/(2*i+1);
result +=item;
i++;
}
cout<<"PI"<<" "<<"="<<" "<<fixed<<setprecision(5)<<2.0*result<<endl;
return 0;
}
代码实现:(C语言)
#include <stdio.h>
int main()
{
double eps;
scanf("%le", &eps);
double result=1;
double temp=1;
for(int i=1;temp>eps;i++)
{
temp = temp*i/(2*i+1);
sum += temp;
}
printf("PI = %.5f\n", 2*result);
return 0;
}
本文介绍了一种通过级数求π近似值的方法,并提供了C++和C语言的实现代码。输入为精度要求,输出为保留五位小数的π值。
1万+

被折叠的 条评论
为什么被折叠?



