在C语言中,可以使用<complex.h>
头文件中提供的数据类型和函数来进行复数的运算。复数数据类型是double complex
,可以使用creal()
和cimag()
函数来获取复数的实部和虚部。
以下是一些常用的复数运算函数:
c = a + b;
c = a - b;
c = a * b;
c = a / b;
double mod = cabs(c);
c = conj(a);
c = cpow(a, n);
示例代码:
#include <stdio.h>
#include <complex.h>
int main() {
double complex a = 1.0 + 2.0*I;
double complex b = 3.0 - 4.0*I;
double complex c;
c = a + b;
printf("a + b = %.2f + %.2fi\n", creal(c), cimag(c));
c = a * b;
printf("a * b = %.2f + %.2fi\n", creal(c), cimag(c));
c = conj(a);
printf("Conjugate of a = %.2f + %.2fi\n", creal(c), cimag(c));
return 0;
}
注意:在使用复数库时,需要在编译时链接数学库-lm
,例如gcc program.c -o program -lm
。