c语言复数函数库 复数运算C语言

数据结构c语言复数运算

1、首先打开vc6.0, 新建一个项目。

创新互联专业为企业提供丹江口网站建设、丹江口做网站、丹江口网站设计、丹江口网站制作等企业网站建设、网页设计与制作、丹江口企业网站模板建站服务,十年丹江口做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

2、添加stdio.h头文件。

3、添加math.h头文件。

4、添加main主函数。

5、定义结构体z。

6、定义double类型val变量。

7、初始化z。

8、使用cabs函数。

9、使用printf打印信息。

10、运行程序,看看结果。

C语言动态分配复数矩阵的函数

有两种方法,一个是直接二维数组,一个是结构体数组。推荐你用二维数组。

既然是复数,那肯定是浮点型。

double ** AllocCplxArray(int m, int n)

{

int i; // 中间变量

double **ptrArray = NULL; // m * n矩阵

// 先分配m

*ptrArray = (double **)malloc(m * sizeof(double *));

if (*ptrArray == NULL) return NULL; // 分配失败

// 再分配n

for (i = 0; i m; i++)

{

ptrArray[i] = (double *)malloc(n * sizeof(double));

if (ptrArray[i] == NULL) // 分配失败

{

for (--i; i = 0; i--) free(ptrArray[i]); // 回滚操作,即释放已分配的空间

free(*ptrArray);

return NULL;

}

}

return ptrArray;

}

分配之后就可以用ptrArray[m][n]来访问了。

void FreeCplxArray(int m, double **ptrArray)

{

if (*ptrArray == NULL) return;

for (--m; m = 0; m--)

if (ptrArray[m] != NULL) free(ptrArray[m]); // 释放n

free(*ptrArray); // 释放m

}

这是比较清晰和理性的写法。可以直接用calloc来分配二维数组,这里就不详细叙述了。

下面再写写结构体数组法。

既然是m * n的矩阵,也就意味着可以归类为(m, n)的向量。

那么就可以有结构体

typedef struct _CplxMatrix

{

double *m;

double *n;

} CplxMatrix;

CplxMatrix *AllocCplxArray(int m, int n)

{

CplxMatrix *ptrMatrix = NULL;

// 首先分配结构体

ptrMatrix = (CplxMatrix *)malloc(sizeof(CplxMatrix));

if (ptrMatrix == NULL) return NULL; // 分配失败

// 分配m

ptrMatrix-m = (double *)malloc(m * sizeof(double));

if (ptrMatrix-m == NULL)

{

free(ptrMatrix);

return NULL;

}

// 分配n

ptrMatrix-n = (double *)malloc(n * sizeof(double));

if (ptrMatrix-n = NULL)

{

free(ptrMatrix-m);

free(ptrMatrix);

return NULL;

}

return ptrMatrix;

}

分配之后就可以用ptrMatrix-m[x]和ptrMatrix-n[y]来访问了。

void FreeCplxArray(CplxMatrix *ptrMatrix)

{

if (ptrMatrix == NULL) return;

if (ptrMatrix-m != NULL) free(ptrMatrix-m);

if (ptrMatrix-n != NULL) free(ptrMatrix-n);

free(ptrMatrix);

}

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.rmz=complex1.rmz+complex2.rmz; Node.lmz=complex1.lmz+complex2.lmz; return Node; } //求两个复数的差 complex subComplex(complex complex1,complex complex2) { complex Node=new complex(); Node.rmz=complex1.rmz-complex2.rmz; Node.lmz=complex1.lmz-complex2.lmz; return Node; } //求两个复数的积 complex productComplex(complex complex1,complex complex2) { complex Node=new complex(); Node.rmz=complex1.rmz*complex2.rmz-complex1.lmz*complex2.lmz; Node.lmz=complex1.lmz*complex2.rmz+complex2.lmz*complex2.rmz; return Node; } //求实部 float getComplexRmz(complex complex1) { return complex1.rmz; } //求虚部 float getComplexLmz(complex complex1) { return complex1.lmz; }

希望采纳

C语言在复数内部用浮点数定义其实部和虚部 设计实现复数的+-*/运算的四个函数

给你一个做加法的示例:

#include stdio.h

/*定义复数结构体*/

typedef struct

{

double real; /*复数的实部*/

double image; /*复数的虚部*/

}complex;

/*实现复数加法*/

complex add(complex c1,complex c2)

{

complex res;

res.real=c1.real+c2.real;

res.image=c1.image+c2.image;

return res;

}

/*测试*/

int main()

{

complex c1,c2;

c1.real=1;

c1.image=2;

c2.real=3;

c2.image=4;

complex sum=add(c1,c2);

printf("the sum of c1 and c2 is ( %f,%f )\n",sum.real,sum.image);

return 0;

}

C语言常用的函数有哪些

C语言库函数,常用库函数有:

1、scanf格式输入函数

2、printf格式输出函数

3、systemdos命令函数

4、sort排序

5、main主函数

6、fgets文件读取字符串函数

7、fputs文件写入字符串函数

8、fscanf文件格式读取函数

9、fprintf文件格式写入函数

10、fopen打开文件函数

11、getchar输入字符函数

12、putchar输出字符函数

13、malloc动态申请内存函数

14、free释放内存函数

15、abs求绝对值数学函数

16、sqrt求平方根数学函数

扩展资料

语言组成:

1、数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

参考资料来源:百度百科-函数

C语言函数题 复数的运算

定义成结构体 实部和虚部分别定义成double,然后在自己定义运算……

如果是C++的话,可以重载+、-、*、\操作符的方式


标题名称:c语言复数函数库 复数运算C语言
文章出自:http://ybzwz.com/article/hgghic.html