定义成结构体 实部和虚部分别定义成double,然后在自己定义运算……
枝江网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
如果是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;
}
用数组来表示复数 float a[2],b[2],c[2],s[2];
读取a、b
FILE *fp;
if((fp=fopen("f:\\a.txt","r+"))!=NULL)
{
fscanf("%f%f",a[0] , a[1] );
fscanf("%f%f",b[0] , b[1] );
fclose(fp);
}
相乘的函数:
void mult(float a[2], float c[2], float result[2])
{
result[0] = a[0] * c[0] - a[1] * c[1] ;
result[1] = a[1] * c[0] + a[0] * c[1] ;
return;
}
调用:
mult(a, c, s);
1、首先打开vc6.0, 新建一个项目。
2、添加stdio.h头文件。
3、添加math.h头文件。
4、添加main主函数。
5、定义结构体z。
6、定义double类型val变量。
7、初始化z。
8、使用cabs函数。
9、使用printf打印信息。
10、运行程序,看看结果。
C语言本身没有复数这个数据类型,但是你可以自己定义:
typedef struct
{
double real; /* 实部 */
double imag; /* 虚部 */
}ComplexNumber;
然后你可以使用ComplexNumber来定义变量,然后用scanf("%f,%f", cn.real, cn.imag);这样的语句来输入复数,还可以进行其它任意操作。