PTA cpp7-1 重载大于号运算符,比较复数大小

本题目要求编写代码的功能为:
输入两个复数(变量名自拟),比较复数模的大小,复数实部与虚部都是整数
要求输入时输入4个整数,分别代表复数1的实部、虚部,复数2的实部虚部

输入格式:

在同一行中输入4个整数,分别代表复数1的实部、虚部,复数2的实部虚部

输出格式:

输出比较两个复数模的大小的结果:
当复数1模大于复数2时 输出1
当复数1模小于复数2时 输出-1
当复数1模等于复数2时 输出0

输入样例:

例如:输入复数1为 12+34i,复数2为 58+59i 时格式如下

12 34 58 59

输出样例:

复数1模小于复数2的模,所以输出-1

-1

解决方案: 对比较符号“>”实现重载;

                   定义一个复数类“Complex”并在其中进行实现; 

#include 
#include 
#include
using namespace std;
class Complex
{
public:
	Complex(int i, int j) :m(i), n(j){}
	int operator>(const Complex& c)
	{
		int square1 = pow(m, 2) + pow(n, 2);
		int square1_root1 = sqrt(square1);
		int square2 = pow(c.m, 2) + pow(c.n, 2);
		int square2_root1 = sqrt(square2);

		if (square1_root1>square2_root1){ return 1; }
		else if (square1_root1> x >> y >> m >> n;
	Complex c1(x, y);
	Complex c2(m, n);

	int rat = c1>c2;

	cout<< rat << endl;

	return 0;
}

你可能感兴趣的:(c++)