所以我在這裏和其他地方看到了其他一些關於提高小數精度的帖子,但出於某種奇怪的原因,我不能讓我的生活得到它的工作。這是我得到的:在C++中的精確度
//Euler's Method Approximation
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int n;
int i=1;
double h;
double x_n;
double y_n;
cout << "Enter n: " ;
cin >> n;
cout << endl << "Enter h: " ;
cin >> h;
cout << endl << "Enter x_0: ";
cin >> x_n;
cout << endl << "Enter y_0: ";
cin >> y_n;
cout << "n=" << i << " x=" << x_n << " y=" << y_n << endl;
++i;
while(i<n+1)
{
y_n = y_n + 3*x_n*h*y_n;
x_n = x_n + h;
cout << "n=" << i << " x=" << x_n << " y=" << setprecision(6) << y_n << endl;
++i;
}
return(0);
}
我爲這個爛攤子道歉。只是在時間緊迫的時候把它扔掉了,但現在我有更多的時間來看它了。我可能做錯了什麼?數學肯定會根據輸入產生任意精度的小數,並且所有變量類型都應該是這樣。即使有iomanip圖書館在那裏。任何指針? (仍然只打印到百萬分之一)
正常工作對我來說,你必須是關於我更具體的/ O –
運行它有n = 8小時= .2 X_0 = 1 ,y_0 = 8。你得到n = 8的6位小數? –
yup:http://ideone.com/GKvznS –