分别输入2个复数的实部与虚部,用函数实现计算2个复数之和与之积。 若2个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i, 则: c1+c2 = (x1+x2) + (y1+y2)i c1*c2 = (x1*x2-y1*y2) + (x1*y2+x2*y1)i 输入格式: 输入在一行中给出4个实数,分别代表c1和c2的实部和虚部。 输出格式: 在两行中分别输出c1+c2和c1*c2的计算结果。
时间: 2024-02-19 14:58:34 浏览: 135
好的,以下是实现计算2个复数之和与之积的代码:
```c
#include <stdio.h>
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
Complex add(Complex c1, Complex c2); // 复数加法
Complex multiply(Complex c1, Complex c2); // 复数乘法
int main() {
double x1, y1, x2, y2;
printf("请输入2个复数的实部和虚部:");
scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
Complex c1 = {x1, y1};
Complex c2 = {x2, y2};
Complex sum = add(c1, c2);
Complex mul = multiply(c1, c2);
printf("c1+c2 = %.2f+%.2fi\n", sum.real, sum.imag);
printf("c1*c2 = %.2f+%.2fi\n", mul.real, mul.imag);
return 0;
}
Complex add(Complex c1, Complex c2) {
Complex sum;
sum.real = c1.real + c2.real;
sum.imag = c1.imag + c2.imag;
return sum;
}
Complex multiply(Complex c1, Complex c2) {
Complex mul;
mul.real = c1.real * c2.real - c1.imag * c2.imag;
mul.imag = c1.real * c2.imag + c2.real * c1.imag;
return mul;
}
```
输入格式为:
```
请输入2个复数的实部和虚部:1 2 3 4
```
输出格式为:
```
c1+c2 = 4.00+6.00i
c1*c2 = -5.00+10.00i
```
希望能帮到你!
阅读全文
相关推荐

















