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;

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-28
#include<stdlib.h>
#include<stdio.h>

typedef struct
{
double a, b;
} fushu;

fushu add(fushu a, fushu b) /*计算a+b,返回一个复数*/
{
fushu c;
c.a = a.a + b.a;
c.b = a.b + b.b;
return c;
}

int main()
{fushu x,y;
printf("输入复数实部:");
scanf("%lf",&x.a);
printf("输入复数虚部:");
scanf("%lf",&x.b);
printf("你输入的复数为:%lf + %lf i\n",x.a,x.b);
printf("输入另一个复数的实部:");
scanf("%lf",&y.a);
printf("输入另一个复数的虚部:");
scanf("%lf",&y.b);
printf("两个复数的和为:%lf + %lf i",add(x,y).a,add(x,y).b);
}本回答被提问者采纳

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

C语言怎么实现复数运算
struct complex{ float rmz; \/\/实部 float lmz;\/\/虚部 };\/\/产生一个复数.complex getAComplex(float a,float b){ complex Node=new complex();Node.rmz=a;Node.lmz=b;return Node;} \/\/两个复数求和 complex addComplex(complex complex1,complex complex2){ complex Node=new complex();Node...

在C语言中,在VC程序中,复数如何表示?
在FORTRAN语言中是有复数的。(最早的语言)表示方法为(a,b)---a实部b虚部。FORTRAN语言可以复数计算。在C语言中,在VC程序中可能是没有的。你要用可以自己在C语言中用复数计算规则自己扩展。VC程序扩展更方便了,类型与运算操作符重载。

c语言题目,实现输入一个复数(a bi),计算出该复数的幅度和幅角,用角度...
其他类似问题 2009-03-31 C语言 复数表示与求和 16 2013-05-10 用c语言编写程序:输入两个复数,计算并输出它们的和及乘积 28 2017-12-16 用c语言编写程序:输入两个复数,计算并输出它们的和及乘积。 2 2012-03-21 关于C语言的题目:用结构体定义一个复数,并实现复数的加法、减... 68 2011-07-20 ...

c语言j 是什么意思
在C语言中,j一般指的是虚部,用于表示复数中虚部的值。在C语言中,复数可以表示成实部与虚部的形式,其中实部为实数,虚部用i或j来表示。对于有关复数的计算,在C语言中,可以使用复数运算库进行运算。因此,在C语言中,j主要用于表示复数中的虚部值。在C语言中,要表示一个虚数,需要在实数后面添加...

C语言中Complex怎么用?
、_Complex是一种新增的数据类型,用来表示复数。C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值,一个用于表示复数的实部(real ...

C语言 定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个部分...
struct complex{ double r;double i;}

请用C语言编写下面这个一元二次方程
{ int i=0;float coeff[3],sum,temp;printf("Ax*x+Bx+C=sum\\n");do{ printf("Input the %c value: ",i+65);scanf("%f",&coeff[i]);}while(++i<3);printf("Input the sum value: ");scanf("%f",&sum);printf("Ax*x+Bx+C=sum the answer is:\\n");temp=pow(coeff[1...

在C++标准库中用什么类表示复数
(最早的语言)表示方法为(a,b)---a实部b虚部。FORTRAN语言可以复数计算。 在C语言中,在VC程序中可能是没有的。 你要用可以自己在C语言中用复数

复数四则运算 数据结构
printf("请分别输入两个复数的实部和虚部:\\n");scanf("%f%f%f",&a,&b,&c,&d);CreatComplex(c1,a,b);Print(c1);Print_shi(c1);Print_xu(c1);CreatComplex(c2,c,d);Print(c2);Print_shi(c2);Print_xu(c2);printf("1.求和,\\t2.求差,\\t3.求积\\t,4.退出\\n");for(j=0;;j...

相似回答