C语言 复数表示与求和

C语言 复数表示与求和,第1张

在数学中一个复数可以定义为 (z=a + bi) 的形式。 C 语言在 ISO C99 时就引入了复数类型。它是通过 complex.h 中定义的。 我们可以使用 complex , __complex__ , 或 _ComplexI 类型符号来表示

在C语言中有三种复数类型,分别为 float complex , double complex , long double complex 。他们之间 的区别就是表示复数中实部和虚步的数的数据类型不同。 complex 其实就是一个数组,数组中有两个元素,一个表示复数的实部,一个表示复数的虚部。

源代码如下:

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

double sum(double* x)

void main()

{

double *a,s=0.0

a=(double*)malloc(sizeof(double))

*a=5

s=sum(a)

printf("求和的结果是: %lf\n",s)

}double sum(double* x)

{

int j=0

double s=0.0

for(j=0j<=3j++)

{

s=s+pow(*x,j)

}

s=s*2

return s

}

扩展资料

输入任意两个复数差与商的源代码如下

typedef struct{

float r

float im

Complex

Complex res

Complex* add(Complex* a, Complex* b) {

res.r = a->r + b->r

res.im = a->im + b->im

return &res

}

Complex* div(Complex* a, Complex* b) {

float d = (b->r*b->r + b->im*b->im)

res.r = (a->r*b->r   + a->im*b->im)/d

res.im = (a->im*b->r - a->r*b->im)/d

return &res

这不是c语言的问题。

数学上复数的表示方法是 a + bi,按这个形式输出就可以了,比如:

1+9i

-3.45-8.33i

输出方法这样就行:

print("%f+%fi", a, b)

C语言本身没有复数这个数据类型,但是你可以自己定义:

typedef struct

{

double real /* 实部 */

double imag /* 虚部 */

}ComplexNumber

然后你可以使用ComplexNumber来定义变量,然后用scanf("%f,%f", &cn.real, &cn.imag)这样的语句来输入复数,还可以进行其它任意 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11314728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存