用c语言分别输入两个复数的实部和虚部,计算两个复数的和与积
时间: 2024-10-24 13:05:12 浏览: 69
在C语言中,你可以使用结构体来表示复数,并为它提供必要的输入、计算和显示功能。首先,我们定义一个名为`Complex`的结构体,用于存储复数的实部(`re`)和虚部(`im`):
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
double re; // 实部
double im; // 虚部
} Complex;
// 输入复数函数
void inputComplex(Complex* c) {
printf("请输入复数的实部和虚部(形式如 a+bi): ");
scanf("%lf %lf", &c->re, &c->im);
}
// 计算两个复数加法
Complex addComplex(const Complex& c1, const Complex& c2) {
Complex sum;
sum.re = c1.re + c2.re;
sum.im = c1.im + c2.im;
return sum;
}
// 计算两个复数乘法
Complex multiplyComplex(const Complex& c1, const Complex& c2) {
double realPart = c1.re * c2.re - c1.im * c2.im;
double imaginaryPart = c1.re * c2.im + c1.im * c2.re;
Complex product;
product.re = realPart;
product.im = imaginaryPart;
return product;
}
// 输出复数结果
void displayComplex(const Complex& c) {
printf("%.2f + %.2fi\n", c.re, c.im);
}
int main() {
Complex num1, num2;
inputComplex(&num1); // 输入第一个复数
inputComplex(&num2); // 输入第二个复数
Complex sumResult = addComplex(num1, num2); // 计算两数之和
displayComplex(sumResult); // 输出结果
Complex prodResult = multiplyComplex(num1, num2); // 计算两数之积
displayComplex(prodResult); // 输出结果
return 0;
}
```
当你运行这个程序时,会提示用户输入两个复数的实部和虚部,然后计算它们的和与积并显示出来。
阅读全文