VC下使用复数示例(建议使用“用法一”)用法一#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()取实部,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; //数乘的时候数的类型一定要和复数中
实部和虚部的类型相同,此处为doublea = k * a; //所有需要和复数运算的实数都要定义为和实部虚部类型相同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;}
评论