C语言实现复数运算
C99标准中已经引入了复数类型,使用时需要包含<complex.h>。但Visual C++ 6.0完全不支持C99标准,推荐使用gcc编译器对.c文件进行编译执行。gcc下载
C语言中定义复数变量的格式
complex double s1 = 2.0 + 3.0 * I;
double complex s2 = 2.0 + 3.0 * I;
C语言中复数的基本运算
#include<stdio.h>
#include<complex.h>
int main()
{
complex double a = 1.0 + 2.0*I, b = 3.0 + 4.0*I; //a = 1 + 2i, b = 3 + 4i
complex double s_1 = a + b; //加
complex double s_2 = a - b; //减
complex double s_3 = a * b; //乘
complex double s_4 = a / b; //除
printf("s_1的实部为%f, 虚部为%f, 模为%f\n", creal(s_1), cimag(s_1), cabs(s_1));
printf("s_2的实部为%f, 虚部为%f, 模为%f\n", creal(s_2), cimag(s_2), cabs(s_2));
printf("s_3的实部为%f, 虚部为%f, 模为%f\n", creal(s_3), cimag(s_3), cabs(s_3));
printf("s_4的实部为%f, 虚部为%f, 模为%f\n", creal(s_4), cimag(s_4), cabs(s_4));
}
complex.h中所包含的常用函数
除了基本的加减乘除之外,complex.h中还包含以下函数:
- 复数的实部creal()
- 复数的虚部cimag()
- 模cabs()
- 相位carg()
- 指数cexp()
- 自然对数clog()
- 幂cpow()
- 平方根csqrt()
- 复共轭cong()
- 正弦csin()
- 余弦ccos()
- 正切ctan()
- 反正弦casin()
- 反余弦cacos()
- 反正切catan()
- 双曲正弦csinh()
- 双曲余弦ccosh()
- 双曲正切ctanh()
- 反双曲正弦casinh()
- 反双曲余弦cacosh()
- 反双曲正切catanh()
说明:以上函数默认为双精度版本,在函数名后加f(即float)表示单精度版本,加l(即long)表示长双精度版本。
转载:https://blog.csdn.net/tengfei0973/article/details/102489228
查看评论