【发布时间】:2018-03-04 15:32:25
【问题描述】:
好的,所以我正在编写一个程序,其总体目的并不一定很重要,但是在程序中有一点我试图打印出一个显示 n、n! 和 x 的表格^n(其中 n 和 x 都是用户输入)。
我目前的代码如下:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
float x, xn, factorial = 1;
float n = 1;
cout << "Enter an angle in radians: ";
cin >> x;
while (n <= 1)
{
cout << "Enter the number of terms to be included into the Taylor series expansion: ";
cin >> n;
if (n < 1)
{
cout << "Error! Try again\n";
}
}
cout << "n\tn!\tx^n\t\n";
for (int i = 1; i <= n; i++)
{
cout << i;
factorial *= i;
cout << "\t" << factorial;
xn = pow(x, i);
cout << "\t" << setprecision(i) << xn;
cout << endl;
}
return 0;
}
现在,我遇到的问题是它在超过 5 个小数位后开始以科学计数法显示我的 x^n。我不希望它这样做。正如您可能已经注意到的那样,我尝试使用 setprecision(i) ,但这不起作用。这让我很困惑,因为 a.)我不确定我是否知道我需要用来让它停止以科学计数法显示的代码和 b.)我不想要 n 和 n 的其他输出!受到我将不得不在 x^n 的输出上使用的操作的影响,这对我来说很棘手,因为它们都是在同一个循环中计算和输出的。我在这里不知所措,非常感谢任何帮助!我会为大家发布程序输出的图像,但似乎我需要更多的声誉才能做到这一点。
另外,顺便说一句,如果您对如何更好地格式化我的表格有任何建议,我很想听听。
【问题讨论】:
标签: c++ visual-c++