搜狐快站装修网站建设,优化排名,中天建设集团山西分公司网站,四博互联做的网站本题要求编写程序#xff0c;根据下式求π的近似值#xff0c;直到最后一项小于给定精度eps。
2π131!352!3573!⋯35⋯(2i1)i!⋯ 泰勒公式
输入格式#xff1a;
输入在一行中给出精度eps#xff0c;可以使用以下语句来读输入#xff1a;
scanf(%le根据下式求π的近似值直到最后一项小于给定精度eps。
2π131!3×52!3×5×73!⋯3×5×⋯×(2×i1)i!⋯ 泰勒公式
输入格式
输入在一行中给出精度eps可以使用以下语句来读输入
scanf(%le, eps);
输出格式
在一行内按照以下格式输出π的近似值保留小数点后5位
PI 近似值输入样例
1E-5输出样例
PI 3.14158代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB 解题
①这道题开头我们应该知道这是啥意思%le
%le表示按照科学计数法读取一个双精度浮点数其中l表示longe表示指数形式。因此当你输入一个类似于1E-5的字符串时scanf函数会将其转换为一个双精度浮点数并将其存储在变量eps中。
②输入样例输入的是什么
在科学计数法中1E-5表示1乘以10的负5次方即0.00001。其中E表示指数形式是英文单词exponent的缩写。因此1E-5可以写成1×10^-5或者0.00001
好那么以下是代码
#includestdio.h
int main(void)
{double i1; //定义变量i的初始值为1double eps,sum0,re1; //定义变量eps、sum、re的初始值分别为0、1、1scanf(%le, eps); //读入精度epswhile(reeps){ //循环计算sum sum re; //累加每一项的值re re * i/(2*i1); //计算每一项的值i i 1; //更新i的值}sum sum re; //累加最后一项的值printf(PI %.5f,2*sum); //输出π的近似值return 0;
}