有没有办法C++让循环的输出显示在同一行上
Is there a way in C++ to get the output of a loop to display on the same line?
我在大学的入门C++课上。我们被分配了一个项目,使用pi=sumtion((-1)^i+1)*(4/2i-1)的系列创建一个程序来近似pi。
我需要我的输出看起来像这样:
该程序使用 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 级数近似求和,但它没有显示等于总和的扩展系列。
我当前的版本不显示校正总和,但它在屏幕上显示 n 次 pi[n]。
我愿意尝试自己弄清楚项目的大部分内容,我只需要知道是否有办法让我的循环的输出显示在一行上,而不是每个迭代都显示在自己的行上。
不要使用 endl,你的工作就会完成。
恩德尔
插入换行符并刷新流。
它的行为等效于调用 os.put('')(或 os.put(os.widen('')) 用于其他字符类型),然后 os.flush().
三件事:首先,更改以下内容的第二项计算:
secondTerm=1.0/(2*i-1);
这样,您强制它为双精度值(否则,它将返回一个我们不想要的 int)。第二,更改此行:
cout <<firstTerm<<"/"<<secondTerm;
对于此行:
cout <<pi;
这是因为第二项持有除法的结果,而不是分母。
第三,移动此行:
cout <<" = "<<sum<<endl;
在for 循环之后,因为这会打印最终结果,您将在对所有项求和后执行此操作。在 for 内放置该行会导致换行。如果这样做,则需要移动此行:
double pi, sum, firstTerm, secondTerm;
在for 循环之前,因此 sum 变量在之后继续存在。
如果您执行所有这些操作,程序将正常工作(尽管它打印所有术语之间没有任何空格)。
不要使用 endl
.这会导致换行符。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 用c++从输入文件中读取另一行
- Ofstream一直给我函数的最后一行,而不是显示所有内容
- 通过显示一行星号来创建条形图,该条形图将读取数据的输入文件
- C 在同一行中左右显示文本
- 使用ifstreamwhile循环,如何显示输入错误并在下一行继续
- 引用变量在下一行程序执行后显示未找到的行为
- C ++流文件仅显示while循环后的最后一行
- 有没有办法C++让循环的输出显示在同一行上
- 在c++中显示一行vs单词
- 如何让GDB为每一行输出显示时间戳
- 希望我的代码逐行将矩阵元素转换为向量,它只将矩阵的最后一行显示为向量
- QTableView - 将指针(突出显示所选内容)放在列表的第一行
- Makefiles:是否有一种通用的方法来显示makefile中的哪一行导致了错误
- 如何要求输入后的文本显示下一行在c++中
- 每次一行显示文本文件,等待用户输入
- 从显示输出中最后一行详细信息的文本文件中读取两次
- 它应该以表的形式显示,但它在编译后显示在控制台中的一行中