您的位置:

c语言复数证明,复数的运算c语言

本文目录一览:

怎样用C语言输入或者输出一个复数?详细讲解一下哟.

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

typedef struct

{

double real; /* 实部 */

double imag; /* 虚部 */

}ComplexNumber;

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

C语言关于复数

#include stdio.h

typedef struct {

    float r;

    float i;

}Complex;

Complex readComlexNumber() {

    Complex n;

    printf("Input real part:");

    scanf("%f", n.r);

    printf("Input imaginary part:");

    scanf("%f", n.i);

    return n;

}

Complex sumComplex(Complex a, Complex b) {

    Complex c;

    c.r = a.r + b.r;

    c.i = a.i + b.i;

    return c;

}

Complex differeneComplex(Complex a, Complex b) {

    Complex c;

    c.r = a.r-b.r;

    c.i = a.i-b.i;

    return c;

}

Complex multiplyComplex(Complex a, Complex b) {

    Complex c;

    c.i = a.r * b.i + a.i*b.r;

    c.r = a.r * b.r - a.i*b.i;

    return c;

}

Complex divideComplex(Complex a, Complex b) {

    Complex c;

    c.r = (a.r*b.r+a.i*b.i)/(b.r*b.r+b.i*b.i);

    c.i = (a.i*b.r-a.r*b.i)/(b.r*b.r+b.i*b.i);

    return c;

}

void printComplex(Complex n) {

    printf("%.2f+%.2fi", n.r, n.i);

}

int main(){

    Complex a, b, c;

    printf("Input Complex number a:\n");

    a = readComlexNumber();

    printf("Input Complex number b:\n");

    b = readComlexNumber();

    printf("The 2 Complex a  b is :\n");

    printComplex(a); printf("   and   "); printComplex(b);

    //sum

    c = sumComplex(a, b);

    printf("\n (a+b)="); printComplex(c);

    //diff

    c = differeneComplex(a, b);

    printf("\n (a-b)="); printComplex(c);

    //multiply

    c = multiplyComplex(a, b);

    printf("\n (a*b)="); printComplex(c);

    //divide

    c = divideComplex(a, b);

    printf("\n (a/b)="); printComplex(c);

    return 0;

}

C语言 复数表示与求和

在数学中一个复数可以定义为 (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=0;j=3;j++)

{

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语言(有关复数)

你在VC中得不到正确的结果是因为printf函数的描述符用错了,把%d改为%f

在TC中编译错误是因为TC比VC检查要严格,是一个标准的C编译器,而VC其实是一个VC++编译器

在TC中声明了结构之后定义结构变量不能省略struct关键字,如要省略,则必须给该结构类型起个别名。对于你的程序来说,只要把复数类型声明改为如下方式即可,你试试吧:

typedef struct {

double real;

double imag;

} complex;

C语言中,复数是什么意思?

c语言不支持复数,但可以自己定义一个结构体代表复数。所谓共轭复数就是:两个复数相加,等于实数(虚数和等于0),这样的两个复数就是共轭复数。如果想用复数,可以考虑c++