用C语言编写一个程序,要求:可以实现多组输入,多设计一个复数类能够实现两复数的加法和减法。 输入描述: 每行有 4 个整数,前两个数表示一个复数的实部和虚部,后两个数表示另一个 复数的实部和虚部
时间: 2023-12-03 10:47:16 浏览: 80
复数的四则运算 数据结构
下面是一个用C语言编写的程序,实现了多组输入,并设计了一个复数类,能够实现两复数的加法和减法:
```c
#include <stdio.h>
typedef struct {
int real;
int 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;
}
int main() {
int n;
scanf("%d", &n);
while (n--) {
complex a, b;
scanf("%d%d%d%d", &a.real, &a.imag, &b.real, &b.imag);
complex c = add(a, b);
complex d = sub(a, b);
printf("%d+%di %d+%di\n", c.real, c.imag, d.real, d.imag);
}
return 0;
}
```
程序的思路如下:
首先,我们定义了一个复数类`complex`,包含两个整型成员变量`real`和`imag`,分别表示复数的实部和虚部。
然后,我们定义了两个函数`add`和`sub`,分别实现两个复数的加法和减法。这里的加法和减法都是按照复数加减法的定义来实现的。
最后,我们在主函数中读入输入数据,并调用`add`和`sub`函数进行计算。计算结果输出到标准输出中。
注意,由于有多组输入,我们在主函数中使用了一个`while`循环,每次循环处理一组输入。
阅读全文