定义描述复数类型的结构体变量,编写减法函数sub()与乘法函数mul(),分别完成复数的减法与乘法运算。在主函数中定义四个复数类型变量c1、c2、c3、c4,输入c1、c2的复数值,调用sub()函数
时间: 2024-11-30 15:18:25 浏览: 66
在C语言中,我们可以创建一个自定义的结构体`Complex`来表示复数,并提供相应的减法和乘法操作。首先,我们定义结构体并声明必要的成员变量:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
// 减法函数,返回两个复数相减的结果
Complex sub(Complex c1, Complex c2) {
Complex result;
result.real = c1.real - c2.real;
result.imag = c1.imag - c2.imag;
return result;
}
// 乘法函数,返回两个复数相乘的结果
Complex mul(Complex c1, Complex c2) {
Complex result;
result.real = c1.real * c2.real - c1.imag * c2.imag;
result.imag = c1.real * c2.imag + c1.imag * c2.real;
return result;
}
int main() {
// 定义复数变量
Complex c1, c2, c3, c4;
// 输入复数c1和c2的值
printf("请输入复数c1 (a + bi): ");
scanf("%lf %lf", &c1.real, &c1.imag);
printf("请输入复数c2 (c + di): ");
scanf("%lf %lf", &c2.real, &c2.imag);
// 调用sub()函数计算差值
Complex diff = sub(c1, c2);
printf("c1 - c2 = (%lf + %lfi)\n", diff.real, diff.imag);
// 这里省略了乘法操作的调用,因为问题只涉及减法
return 0;
}
```
在这个程序中,用户会被提示输入两个复数的实部和虚部,然后通过`sub()`函数计算它们的差值,并将结果打印出来。如果你想演示乘法功能,可以添加类似`Complex product = mul(c1, c2);`的代码行,并打印出`product`的值。
阅读全文