c语言编程本题要求编写程序,计算2个复数的和、差、积、商。 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。 输出格式: 分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。 输入样例1: 2 3.08 -2.04 5.06 输出样例1: (2.0+3.1i) + (-2.0+5.1i) = 8.1i (2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i (2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i (2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i
时间: 2024-02-28 22:56:44 浏览: 186
以下是C语言编写的程序,实现两个复数的加减乘除运算:
```c
#include <stdio.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 sub(Complex a, Complex b) {
Complex c;
c.real = a.real - b.real;
c.imag = a.imag - b.imag;
return c;
}
Complex mul(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;
}
Complex div(Complex a, Complex b) {
Complex c;
double d = b.real * b.real + b.imag * b.imag;
c.real = (a.real * b.real + a.imag * b.imag) / d;
c.imag = (a.imag * b.real - a.real * b.imag) / d;
return c;
}
void print_complex(Complex c) {
if (c.real == 0 && c.imag == 0) {
printf("0.0");
} else if (c.real == 0) {
printf("%.1fi", c.imag);
} else if (c.imag == 0) {
printf("%.1f", c.real);
} else {
printf("(%.1f%.1fi)", c.real, c.imag);
}
}
int main() {
double a1, b1, a2, b2;
scanf("%lf %lf %lf %lf", &a1, &b1, &a2, &b2);
Complex c1 = {a1, b1}, c2 = {a2, b2};
Complex sum = add(c1, c2);
Complex diff = sub(c1, c2);
Complex product = mul(c1, c2);
Complex quotient = div(c1, c2);
print_complex(c1);
printf(" + ");
print_complex(c2);
printf(" = ");
print_complex(sum);
printf("\n");
print_complex(c1);
printf(" - ");
print_complex(c2);
printf(" = ");
print_complex(diff);
printf("\n");
print_complex(c1);
printf(" * ");
print_complex(c2);
printf(" = ");
print_complex(product);
printf("\n");
print_complex(c1);
printf(" / ");
print_complex(c2);
printf(" = ");
print_complex(quotient);
printf("\n");
return 0;
}
```
程序运行示例:
```
输入样例:
2 3.08 -2.04 5.06
输出样例:
(2.0+3.1i) + (-2.0+5.1i) = (0.0+8.1i)
(2.0+3.1i) - (-2.0+5.1i) = (4.0-2.0i)
(2.0+3.1i) * (-2.0+5.1i) = (-19.7+3.8i)
(2.0+3.1i) / (-2.0+5.1i) = (0.4-0.6i)
```
阅读全文
相关推荐
















