C语言输入两个数的实部和虚部,求这两个数的和,商,积,差
时间: 2024-09-11 17:19:10 浏览: 71
在C语言中,我们可以定义复数为一个结构体,包含实部和虚部两个成员。然后,我们可以编写函数来实现复数的加法、减法、乘法和除法运算。
首先,定义复数结构体:
```c
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
```
接下来,我们可以编写四个函数来计算复数的和、差、积和商:
```c
// 复数加法
Complex add(Complex a, Complex b) {
Complex result;
result.real = a.real + b.real;
result.imag = a.imag + b.imag;
return result;
}
// 复数减法
Complex sub(Complex a, Complex b) {
Complex result;
result.real = a.real - b.real;
result.imag = a.imag - b.imag;
return result;
}
// 复数乘法
Complex mul(Complex a, Complex b) {
Complex result;
result.real = a.real * b.real - a.imag * b.imag;
result.imag = a.real * b.imag + a.imag * b.real;
return result;
}
// 复数除法
Complex div(Complex a, Complex b) {
Complex result;
double denominator = b.real * b.real + b.imag * b.imag;
result.real = (a.real * b.real + a.imag * b.imag) / denominator;
result.imag = (a.imag * b.real - a.real * b.imag) / denominator;
return result;
}
```
最后,我们可以在主函数中读取用户输入的两个复数,然后调用这些函数来计算它们的和、差、积和商,并输出结果:
```c
int main() {
Complex a, b, sum, diff, product, quotient;
// 输入第一个复数的实部和虚部
printf("请输入第一个复数的实部和虚部(例如:1.5 2.5):");
scanf("%lf %lf", &a.real, &a.imag);
// 输入第二个复数的实部和虚部
printf("请输入第二个复数的实部和虚部(例如:-3.5 4.5):");
scanf("%lf %lf", &b.real, &b.imag);
// 计算和
sum = add(a, b);
printf("两数之和为:%.2lf + %.2lfi\n", sum.real, sum.imag);
// 计算差
diff = sub(a, b);
printf("两数之差为:%.2lf + %.2lfi\n", diff.real, diff.imag);
// 计算积
product = mul(a, b);
printf("两数之积为:%.2lf + %.2lfi\n", product.real, product.imag);
// 计算商
quotient = div(a, b);
printf("两数之商为:%.2lf + %.2lfi\n", quotient.real, quotient.imag);
return 0;
}
```
以上程序段将帮助用户输入两个复数,并计算它们的和、差、积和商。
阅读全文