VC下使用復(fù)數(shù)示例(建議使用“用法一”)用法一#include math.h>#include complex>using namespace std;typedef complexdouble> Complex;int main(int argc, char* argv[]){Complex a,b,c;a = Complex::complex(1.,.2); //賦初值printf(%f,%fn,real(a),imag(a)); //real()取實(shí)部,imag()取虛部b = Complex::complex(1.,.2); //賦初值c = Complex::complex(1.,.2); //賦初值a = b + c;printf(%f,%fn,real(a),imag(a));double k=2.0; //數(shù)乘的時(shí)候數(shù)的類型一定要和復(fù)數(shù)中
實(shí)部和虛部的類型相同,此處為doublea = k * a; //所有需要和復(fù)數(shù)運(yùn)算的實(shí)數(shù)都要定義為和實(shí)部虛部類型相同printf(%f,%fn,real(a),imag(a));return 0;}******************************************************************用法二#include math.h>#include complex>int main(int argc, char* argv[]){std::complexdouble> x,y,z;x = std::complexdouble> (1.,.02);printf(x = %f,j%fn,std::real(x),std::imag(x));y = std::complexdouble> (1.,.02);z = std::complexdouble> (1.,.02);x = y * z;printf(x = %f,j%fn,std::real(x),std::imag(x));return 0;}******************************************************************用法三#include math.h>int main(int argc, char* argv[]){_complex c_val1,c_val2,c_val3;c_val1.x = 1.;c_val1.y = .2;c_val2.x = 1.;c_val2.y = .2;c_val3.x = c_val1.x + c_val2.x;c_val3.y = c_val1.y + c_val2.y;printf(sum = %f,j%fn,c_val3.x,c_val3.y);return 0;}
評(píng)論