1.复数的加减乘除运算:
(1)main.cpp
#include <iostream>
#include <complex>
#include "complex.h"
using namespace std;
int main()
{
// 定义并初始化两个复数
complex<double> complexNum1(3.0, 4.0);
complex<double> complexNum2(1.0, 2.0);
// 计算加法
complex<double> sum = addComplex(complexNum1, complexNum2);
// 计算减法
complex<double> difference = subtractComplex(complexNum1, complexNum2);
// 计算乘法
complex<double> product = multiplyComplex(complexNum1, complexNum2);
// 计算除法
complex<double> quotient = divideComplex(complexNum1, complexNum2);
// 输出结果
cout << "复数加法结果: " << sum.real() << " + " << sum.imag() << "i" << std::endl;
cout << "复数减法结果: " << difference.real() << " + " << difference.imag() << "i" << std::endl;
cout << "复数乘法结果: " << product.real() << " + " << product.imag() << "i" << std::endl;
cout << "复数除法结果: " << quotient.real() << " + " << quotient.imag() << "i" << std::endl;
return 0;
}
(2)complex.cpp
#include "complex.h"
using namespace std;
complex<double> addComplex(const complex<double>& complexNum1, const complex<double>& complexNum2)
{
return complexNum1 + complexNum2;
}
complex<double> subtractComplex(const complex<double>& complexNum1, const complex<double>& complexNum2)
{
return complexNum1 - complexNum2;
}
complex<double> multiplyComplex(const complex<double>& complexNum1, const complex<double>& complexNum2)
{
return complexNum1 * complexNum2;
}
complex<double> divideComplex(const complex<double>& complexNum1, const complex<double>& complexNum2)
{
return complexNum1 / complexNum2;
}
(3)complex.h
#pragma once
#ifndef COMPLEX_H
#define COMPLEX_H
using namespace std;
#include <complex>
complex<double> addComplex(const complex<double>& complexNum1, const complex<double>& complexNum2);
complex<double> subtractComplex(const complex<double>& complexNum1, const complex<double>& complexNum2);
complex<double> multiplyComplex(const complex<double>& complexNum1, const complex<double>& complexNum2);
complex<double> divideComplex(const complex<double>& complexNum1, const complex<double>& complexNum2);
#endif
(4)运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/cf3e3885f85de23f9f7dba54c8a67a0c.png)
2.复数求模运算:
(1)main.cpp
#include <iostream>
#include <complex>
#include "complex.h"
using namespace std;
int main()
{
// 定义并初始化复数,实部为3.0,虚部为4.0
complex<double> complexNum(3.0, 4.0);
// 计算复数的模长
double magnitude = calculateMagnitude(complexNum);
// 输出结果
cout << "复数的模长: " << magnitude << endl;
return 0;
}
(2)complex.cpp
#include "complex.h"
using namespace std;
double calculateMagnitude(const complex<double>& complexNum)
{
return abs(complexNum);
}
(3)complex.h
#pragma once
using namespace std;
#ifndef COMPLEX_H
#define COMPLEX_H
#include <complex>
double calculateMagnitude(const complex<double>& complexNum);
#endif
(4)运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/39dd46dd942dc10669e58ceaa09c5acf.png)
3.复数求辐角运算:
(1)main.cpp
#define _USE_MATH_DEFINES
#include <cmath>
#include <iostream>
#include <complex>
#include "complex.h"
using namespace std;
int main()
{
// 定义并初始化复数
complex<double> complexNum(3.0, 4.0);
// 计算复数的辐角
double angle = calculateAngle(complexNum);
// 将弧度转换为角度
double degree = angle * 180.0 / M_PI;
// 输出结果
cout << "复数的辐角(弧度): " << angle << endl;
cout << "复数的辐角(角度): " << degree << endl;
return 0;
}
(2)complex.cpp
#define _CRT_SECURE_NO_WARNINGS 1
using namespace std;
#include "complex.h"
#include <cmath>
double calculateAngle(const complex<double>& complexNum)
{
return arg(complexNum);
}
(3)complex.h
#pragma once
using namespace std;
#ifndef COMPLEX_H
#define COMPLEX_H
#include <complex>
double calculateAngle(const complex<double>& complexNum);
#endif
(4)运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/807fe389a6ad38f206dff17f8474bafc.png)