admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:正则匹配字符前后几个字符)

用c语言编程计算复数

一、复数的四则运算

二、复数的头文件#include

三、一些碎碎念

(1)计算方法

加法:(a+bi)+(c+di)=(a+c)+(c+d)i【实部与实部相加,虚部与虚

步相加】

减法:(a+bi)-(c+di)=(a-c)+(c-d)i【实部与实部相减,虚部与虚

步相减】

乘法:(a+bi)(c+di)=ac+adi+cdi+bdi*i=(ac-bd)+(bc+ad)i【普通

的多项式相乘;i^2=-1】

除法:(a+bi)/(c+di)=(a+bi)

(c-di)/((c+di)(c+di))=((ac+bd)+(bc-ad)i)/(c^2+d^2)【分子分母同时

乘以分母的共轭复数,然后上边是乘法,下边也是乘法】

(2)例题:本题要求编写程序,计算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)C语言中有三个类型可以存储复数

float_Complex:实部和虚部都为float类型

— 1 —

double_Complex:实部和虚部都为double类型

long double_Complex:实部和虚部都为long类型

例如:double_Complex x;

注:C99对复数的支持,用这种定义方法不需要任何头文件。

(2)加入头文件#include ,就可以用complex代替

_Complex,这个头文件把虚部定义为'I',所以定义定义这样一个复数可以

这样float complex z=a+bI;

(3)宏

宏名称 值

complex _Complex

_Complex_I 虚数单位,类型为const float_Complex

I _Complex_I

这里的I代替Complex_I可以类比bool(#include 中的)

和Bool一样

复数的赋值方法如:doubel complex dc=2.0+3.5*I;

(4)几个函数

real_part=creal(z);//得到Z的实部

imag_part=cimag(z)//得到Z的虚部

在处理float和long double类型时,用crealf()和

creall(),cimagf()和cimagl()。【理解:以double complex为基准】

3.延展:允许复数有乘除绝对值操作,但是必须有CX_LIMITED_RANGE

的编译提示

— 2 —


本文标签: 复数 虚部 实部 类型 计算