main.cpp

来自「利用数值分析方法」· C++ 代码 · 共 57 行

CPP
57
字号
#include "means.h"
using namespace std;

void main()
{
	 long double x,t1,t2;
	 int n,digit,flag;  //digit为需要达到的精度,即小数点后多少位
	 cout<< "1:求ln(x); 2:求x^(1/n); 3:quit " <<endl;
     cin>>flag;
	 while(flag==1||flag==2)
	 {
		 if(flag==1)
		 {
			 cout<<"input x:"<<endl;
			 cin>>x;
			 cout<<"input the precision you want:"<<endl;
			 cin>>digit;
			 TLargeFloat::TDigits sCount(digit);
			 TLargeFloat ln_result(0.0,sCount);
			 t1 = (double)clock();
			 ln_result=OP_ln(x,digit);
			 t2 = (double)clock();
             cout<<"计算所花时间为: "<<t2-t1<<"ms"<<endl;
			 cout<<"计算所得结果为:";
			 Debug_toCout("ln(x)=",ln_result);
			 cout<<setprecision(20);
			 cout<<"利用VC自带数学函数求得的结果为:"<<endl;
			 cout<<log(x)<<endl<<endl;  
			 cout<< "1:求ln(x); 2:求x^(1/n); 3:quit " <<endl;
			 cin>>flag;
		 }
		 else
		 {
			 cout<<"input x:"<<endl;
			 cin>>x;
			 cout<<"input n:"<<endl;
			 cin>>n;
			 cout<<"input the precision you want:"<<endl;
			 cin>>digit;			 
			 TLargeFloat::TDigits sCount(digit);
			 TLargeFloat PowerRoot(0.0,sCount);
			 t1 = (double)clock();
			 PowerRoot=OP_PowerRoot(x,n,digit);
			 t2 = (double)clock();
             cout<<"计算所花时间为: "<<t2-t1<<"ms"<<endl;
			 cout<<"计算所得结果为:";
			 Debug_toCout("x^(1/n)==",PowerRoot);
			 cout<<setprecision(20);
			 cout<<"利用VC自带数学函数求得的结果为:"<<endl;
			 cout<<pow(x,1.0/n)<<endl<<endl;  
			 cout<< "1:求ln(x); 2:求x^(1/n); 3:quit " <<endl;
			 cin>>flag; 
		 }
	 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?