c语言编程 定义一种复数类型称为Complex,包含real和imag两个整型域。定义两个复数变量a和b,从键盘分两行以复数形式输入这两个变量的值 ,计算两个变量的和和乘积,结果显示在一行里,如,输入a和b的值: 3+3j 1-2j 则在一行显示结果:4+1j 9-3j
时间: 2024-03-03 21:51:40 浏览: 55
好的,这是一个比较常见的需求,需要计算两个复数的和和乘积,然后将结果同时输出到一行中。下面是一个实现这个需求的C语言程序,代码如下:
```c
#include <stdio.h>
// 定义复数类型
typedef struct {
int real; // 实部
int imag; // 虚部
} Complex;
int main() {
Complex a, b, c, d;
// 从键盘输入 a 和 b 的值
printf("请输入 a 和 b 的值(格式:实部+虚部i):\n");
scanf("%d+%di", &a.real, &a.imag);
scanf("%d+%di", &b.real, &b.imag);
// 计算 a+b 和 a*b 的值
c.real = a.real + b.real;
c.imag = a.imag + b.imag;
d.real = a.real * b.real - a.imag * b.imag;
d.imag = a.real * b.imag + a.imag * b.real;
// 输出结果
printf("%d+%di %d+%di\n", c.real, c.imag, d.real, d.imag);
return 0;
}
```
运行程序后,输入:
```
请输入 a 和 b 的值(格式:实部+虚部i):
3+3i
1-2i
```
程序会输出:
```
4+1i 9-3i
```
这就是计算得到的 a+b 和 a*b 的值,同时输出到了一行中。
阅读全文