C语言编写程序,计算两个复数的和、差、积、商。
时间: 2023-11-08 16:01:00 浏览: 325
c语言编写的复数运算
好的,下面是计算两个复数的和、差、积、商的C语言程序示例:
```c
#include <stdio.h>
typedef struct {
float real; // 实部
float imag; // 虚部
} Complex;
// 计算两个复数的和
Complex add(Complex a, Complex b) {
Complex c;
c.real = a.real + b.real;
c.imag = a.imag + b.imag;
return c;
}
// 计算两个复数的差
Complex sub(Complex a, Complex b) {
Complex c;
c.real = a.real - b.real;
c.imag = a.imag - b.imag;
return c;
}
// 计算两个复数的积
Complex mul(Complex a, Complex b) {
Complex c;
c.real = a.real * b.real - a.imag * b.imag;
c.imag = a.real * b.imag + a.imag * b.real;
return c;
}
// 计算两个复数的商
Complex div(Complex a, Complex b) {
Complex c;
float denominator = b.real * b.real + b.imag * b.imag; // 分母
c.real = (a.real * b.real + a.imag * b.imag) / denominator;
c.imag = (a.imag * b.real - a.real * b.imag) / denominator;
return c;
}
int main() {
Complex a = {1, 2}; // 复数 a = 1+2i
Complex b = {3, 4}; // 复数 b = 3+4i
Complex c = add(a, b); // 复数 c = a + b
printf("a + b = %.2f + %.2fi\n", c.real, c.imag);
c = sub(a, b); // 复数 c = a - b
printf("a - b = %.2f + %.2fi\n", c.real, c.imag);
c = mul(a, b); // 复数 c = a * b
printf("a * b = %.2f + %.2fi\n", c.real, c.imag);
c = div(a, b); // 复数 c = a / b
printf("a / b = %.2f + %.2fi\n", c.real, c.imag);
return 0;
}
```
以上程序中,我们定义了一个结构体 Complex 表示复数,然后分别实现了计算两个复数的和、差、积、商等函数,并在主函数中调用这些函数进行计算。注意:为了避免浮点数精度误差,我们在输出时使用了 %.2f 格式化字符串,保留小数点后两位。
阅读全文