在数学中一个复数可以定义为 (z=a + bi) 的形式。 C 语言在 ISO C99 时就引入了复数类型。它是通过 complex.h 中定义的。 我们可以使用 complex , __complex__ , 或 _ComplexI 类型符号来表示。
创新互联公司专业为企业提供大同网站建设、大同做网站、大同网站设计、大同网站制作等企业网站建设、网页设计与制作、大同企业网站模板建站服务,10余年大同做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在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;
定义成结构体 实部和虚部分别定义成double,然后在自己定义运算……
如果是C++的话,可以重载+、-、*、\操作符的方式
#includestdio.h
int main()
{
int x1,y1, x2, y2;
printf("Please input complex 1:");
scanf("%d+%di", x1, y1);
printf("Please input complex 2:");
scanf("%d+%di", x2, y2);
printf("The sum is=%d+%di\n", x1+x2, y1+y2);
return 0;
}
以上程序是最简单的形式,输入时要注意只能x+yi这样输入,各个字符间不能有空格
#includestdio.h
struct re{
int a;
int b;
};
re Jia(re re1,re re2){
re re3;
re3.a=re1.a+re2.a;
re3.b=re1.b+re2.b;
return re3;
}
int main()
{
re f1,f2,f3;
while(scanf("%d %d %d %d",f1.a,f1.b,f2.a,f2.b)!=-1)
{
f3=Jia(f1,f2);
printf("%d+%di",f3.a,f3.b);
}
getchar();
return 0;
}