复数四则运算c语言结构体,关于数据结构复数的四则运算的疑问 -求解决解决方法...

C/C++ code#include

using namespace std;

class ComplexNum

{

private:

int real;

int imaginary;

public:

ComplexNum()

{

this->real=0;

this->imaginary=0;

}

ComplexNum(int real,int imaginary)

{

this->real=real;

this->imaginary=imaginary;

}

int getReal()

{

return this->real;

}

void setReal(int real)

{

this->real=real;

}

void setImaginary(int imaginary)

{

this->imaginary=imaginary;

}

int getImaginary()

{

return this->imaginary;

}

ComplexNum operator+(ComplexNum &x)

{

ComplexNum y;

y.setReal(this->real+x.real);

y.setImaginary(this->imaginary+x.imaginary);

return y;

}

ComplexNum operator-(ComplexNum &x)

{

ComplexNum y;

y.setReal(this->real-x.real);

y.setImaginary(this->imaginary-x.imaginary);

return y;

}

ComplexNum operator*(ComplexNum &x)

{

ComplexNum y;

y.setReal(this->real*x.real-this->imaginary*x.imaginary);

y.setImaginary(this->imaginary*x.real+this->real*x.imaginary);

return y;

}

friend ostream&operator<

{

if(x.getImaginary()==0)

return cout<

else if(x.getImaginary()<0)

return cout<

else if(x.getImaginary()>0)

return cout<

return cout<

}

};

void main()

{

ComplexNum c1(10,5);

ComplexNum c2(3,7);

ComplexNum c3(0,0);

cout<

cout<

cout<

cout<

cout<

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,我们可以使用结构体来表示复数,并进行四则运算操作。下面是一个示例代码: ```c #include <stdio.h> // 定义复数结构体 typedef struct { float real; float imag; } Complex; // 复数加法 Complex add(Complex a, Complex b) { Complex result; result.real = a.real + b.real; result.imag = a.imag + b.imag; return result; } // 复数减法 Complex subtract(Complex a, Complex b) { Complex result; result.real = a.real - b.real; result.imag = a.imag - b.imag; return result; } // 复数乘法 Complex multiply(Complex a, Complex b) { Complex result; result.real = a.real * b.real - a.imag * b.imag; result.imag = a.real * b.imag + a.imag * b.real; return result; } // 复数除法 Complex divide(Complex a, Complex b) { Complex result; float denominator = b.real * b.real + b.imag * b.imag; result.real = (a.real * b.real + a.imag * b.imag) / denominator; result.imag = (a.imag * b.real - a.real * b.imag) / denominator; return result; } int main() { // 创建两个复数对象 Complex num1, num2; // 输入第一个复数的实部和虚部 printf("Enter the real and imaginary parts of the first complex number: "); scanf("%f %f", &num1.real, &num1.imag); // 输入第二个复数的实部和虚部 printf("Enter the real and imaginary parts of the second complex number: "); scanf("%f %f", &num2.real, &num2.imag); // 进行四则运算 Complex sum = add(num1, num2); Complex difference = subtract(num1, num2); Complex product = multiply(num1, num2); Complex quotient = divide(num1, num2); // 输出结果 printf("Sum: %.2f + %.2fi\n", sum.real, sum.imag); printf("Difference: %.2f + %.2fi\n", difference.real, difference.imag); printf("Product: %.2f + %.2fi\n", product.real, product.imag); printf("Quotient: %.2f + %.2fi\n", quotient.real, quotient.imag); return 0; } ``` 这个示例代码演示了如何定义一个复数结构体,并进行加法、减法、乘法和除法运算。用户可以输入两个复数的实部和虚部,然后程序会输出运算结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值