『壹』 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;