‘壹’ c语言定义复数
#include <complex>
#include <iostream>
using namespace std;void main()
{
complex<double> comp(1,1); cout << "The complex number = " << comp << endl; cout<<"real:"<<comp.real()<<endl;
cout<<"image:"<<comp.imag()<<endl; comp=conj(comp);
cout << "The complex number = " << comp << endl;
cout<<"real:"<<comp.real()<<endl;
cout<<"image:"<<comp.imag()<<endl;
}
‘贰’ C语言定义复数
#include <complex>
#include <iostream>
using namespace std;void main()
{
complex<double> comp(1,1); cout << "The complex number = " << comp << endl; cout<<"real:"<<comp.real()<<endl;
cout<<"image:"<<comp.imag()<<endl; comp=conj(comp);
cout << "The complex number = " << comp << endl;
cout<<"real:"<<comp.real()<<endl;
cout<<"image:"<<comp.imag()<<endl;
}
‘叁’ c语言中定义复数的问题
complex在各个C++标准中定义不一致。如果你是VS2012以上版本,这么用应该没问题,如果较低版本,推荐这样使用:
#include<stdio.h>
#include<complex>
#include<cstdlib>
usingnamespacestd;
intmain()
{
complex<double>cx,cy;
cx=complex<double>(1,3);
cy=complex<double>(1,4);
//doyourthings
return0;
}
‘肆’ c语言中如何定义一个复数型数组
首先加入头文件:
#include
<complex>
然后进行复数类型定义:
typedef
complex<float>
Comp;//这里double也可
这样就可以使用复数结构了
如:声明复数数组
Comp
a[5];
‘伍’ 试用C语言的结构类型定义表示复数的抽象数据类型
#include <stdio.h>
//结构体
typedef struct
{
double a;
double b;
} COMPLEX;
//加
COMPLEX add (COMPLEX a, COMPLEX b)
{
a.a += b.a;
a.b += b.b;
return a;
}
//减
COMPLEX subtract (COMPLEX a, COMPLEX b)
{
a.a -= b.a;
a.b -= b.b;
return a;
}
//乘
COMPLEX multiply (COMPLEX a, COMPLEX b)
{
COMPLEX c;
c.a = a.a*b.a - a.b*b.b;
c.b = a.a*b.b + a.b*b.a;
return c;
}
//除
COMPLEX divide (COMPLEX a, COMPLEX b) {
COMPLEX c;
double divisor = b.a*b.a + b.b*b.b;
if (divisor - 0 == 0)
exit (0);
c.a = (a.a*b.a + a.b*b.b) / divisor;
c.b = (a.b*b.a - a.a*b.b) / divisor;
return c;
}
然后读入数据,判断运算符号就行了。
‘陆’ 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 ",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;
}
(6)c语言中定义复数扩展阅读
输入任意两个复数差与商的源代码如下
typedefstruct{
floatr;
floatim;
Complex;
Complexres;
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){
floatd=(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;