我在我的大学里上 C++ 入门课。我们被分配了一个项目来创建一个程序来使用一个系列来近似 pi,其中 pi=summation ((-1)^i+1)*(4/2i-1)。
我需要我的输出看起来像这样:
该程序使用 n 项级数展开来近似 pi。
输入n的值> 6
pi[6] = 4[1-1/3+1/5-1/7+1/9-1/11] = 2.9760461760417560644
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int numOfTerms;
cout <<"This program calculates pi using an n-term series expansion."<<endl;
cout <<"Enter the value for n>";
cin >>numOfTerms;
if (numOfTerms<=0)
cout <<numOfTerms<<"is an invalid number of terms."<<endl;
else
{
cout <<"pi["<<numOfTerms<<"] = ";
int i;
for (i=1; i<=numOfTerms; i++)
{
double pi, sum, firstTerm, secondTerm;
firstTerm=pow(-1,(i+1));
secondTerm=1/(2*i-1);
pi=firstTerm*secondTerm;
{
if (pi <= 4)
cout <<firstTerm<<"/"<<secondTerm;
else
cout <<"You have a C++ math error.";
}
sum=sum+(4*pi);
cout <<" = "<<sum<<endl;
}
}
return 0;
}
我有一个早期版本的代码可以正确总结 n 系列近似值,但它不显示等于总和的扩展系列。
我当前的版本不显示校正总和,但它在屏幕上显示 pi[n] n 次,超过 n 行。
我愿意尝试自己计算项目的大部分内容,我只需要知道是否有办法让循环的输出显示在一行上,而不是每次迭代都显示在自己的行上。