复数四则运算 结构体pta
时间: 2024-12-08 11:12:39 浏览: 106
复数四则运算可以通过定义一个结构体来表示复数,并实现相应的加、减、乘、除运算。以下是一个示例代码,展示了如何在C语言中定义复数结构体并进行四则运算:
```c
#include <stdio.h>
// 定义复数结构体
typedef struct {
double real; // 实部
double 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;
double 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, sum, difference, product, quotient;
// 输入第一个复数
printf("输入第一个复数的实部和虚部: ");
scanf("%lf %lf", &num1.real, &num1.imag);
// 输入第二个复数
printf("输入第二个复数的实部和虚部: ");
scanf("%lf %lf", &num2.real, &num2.imag);
// 进行加法运算
sum = add(num1, num2);
printf("和: %.2lf + %.2lfi\n", sum.real, sum.imag);
// 进行减法运算
difference = subtract(num1, num2);
printf("差: %.2lf + %.2lfi\n", difference.real, difference.imag);
// 进行乘法运算
product = multiply(num1, num2);
printf("积: %.2lf + %.2lfi\n", product.real, product.imag);
// 进行除法运算
quotient = divide(num1, num2);
printf("商: %.2lf + %.2lfi\n", quotient.real, quotient.imag);
return 0;
}
```
这个程序定义了一个复数结构体 `Complex`,并实现了复数的加、减、乘、除运算。`main` 函数中,用户可以输入两个复数,程序会输出这两个复数的和、差、积和商。
阅读全文