c语言设计2个复数的加、乘和取模运算程序 要求: 1. 设计复数数据类型 2. 用函数实现上述3种运算
时间: 2024-02-24 08:59:08 浏览: 139
好的,以下是 C 语言的实现:
```c
#include <stdio.h>
#include <math.h>
// 复数结构体
typedef struct {
double real; // 实部
double 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 multiply(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;
}
// 复数取模
double modulus(Complex a) {
return sqrt(a.real * a.real + a.imag * a.imag);
}
int main() {
Complex a = {1.0, 2.0};
Complex b = {3.0, 4.0};
Complex c;
// 复数加法
c = add(a, b);
printf("a + b = %lf + %lfi\n", c.real, c.imag);
// 复数乘法
c = multiply(a, b);
printf("a * b = %lf + %lfi\n", c.real, c.imag);
// 复数取模
printf("|a| = %lf\n", modulus(a));
printf("|b| = %lf\n", modulus(b));
return 0;
}
```
在该程序中,我们使用 `typedef` 定义了一个复数结构体,并利用该结构体实现了复数的加法、乘法和取模运算。在 `main` 函数中,我们定义了两个复数 `a` 和 `b`,并分别进行了加法、乘法和取模运算,并输出结果。
阅读全文