

请问一下,程序中定义的s n t pi分别都是代表的什么啊?分别都是什么意思啊?该程序是怎样运行的啊?
s代表分子和符号位的乘积,n为当前项分母的值,t为当前项的值,pi存储当前计算出的π/4的近似值;
程序的运行过程大致是:
首先给各变量设置初始值;
然后循环判断当前项的绝对值是否大于10的-7次方,如果大于,则将当前项累加到pi中,直到当前项的绝对值小于或等于10的-7次方;
循环结束,再将pi的值乘以4以计算出π的近似值,最后保留小数点右边6位小数来打印结果。
测试如下:
参考链接:
https://blog.csdn.net/CrazyQiQi/article/details/82952159
https://blog.csdn.net/diaomo9737/article/details/101724507
https://blog.csdn.net/juddi/article/details/82761274
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(void){
int s=1; // s代表分子与符号位的乘积,初始值为1
double n=1,t=1,pi=0; // 这里的n代表当前项的分母,初始为1,t为每一项的值,初始为1,pi在计算中存储π/4的值
// https://blog.csdn.net/CrazyQiQi/article/details/82952159
// https://blog.csdn.net/diaomo9737/article/details/101724507
while(fabs(t)>1e-7){ // 如果当前项t的绝对值大于10的-7次方,则当前项累加到pi中,直到当前项的绝对值小于或等于10的-7次方
pi=pi+t; // 将当前项的值累加到pi中
n=n+2; // 下一项的分母+2
s=-s; // 符号位变换
t=s/n; // 计算下一项的值
}
pi=pi*4; // 循环结束,pi中已经存储了π/4的近似值,将其乘以4求出π的近似值
// https://blog.csdn.net/juddi/article/details/82761274
// 打印计算出的π的近似值,保留小数点右边6位小数
cout<<"pi="<<setiosflags(ios::fixed)<<setprecision(6)<<pi<<endl;
return 0;
}
