c语言 复数求商

发布网友 发布时间:2024-10-23 22:41

我来回答

3个回答

热心网友 时间:2024-10-27 19:38

#include <stdio.h>

void ComplexDivide( double a[], double b[], double c[] )
{
double sq = b[0]*b[0] + b[1]*b[1];

c[0] = (a[0]*b[0] + a[1]*b[1])/sq;
c[1] = (a[1]*b[0] - a[0]*b[1])/sq;
}

void main()
{
double a[2]; // = { 1., 1. };
double b[2];// = { 2., 3. };
double c[2];
float f;
int i;
for( i=0; i<2; i++ ) {
scanf( "%f", &f );
a[i] = f;
}
for( i=0; i<2; i++ ) {
scanf( "%f", &f );
b[i] = f;
}

ComplexDivide( a, b, c );
printf("%g, %g\n", c[0], c[1] );
}

热心网友 时间:2024-10-27 19:39

#include
<stdio.h>
void
ComplexDivide(
double
a[],
double
b[],
double
c[]
)
{
double
sq
=
b[0]*b[0]
+
b[1]*b[1];
c[0]
=
(a[0]*b[0]
+
a[1]*b[1])/sq;
c[1]
=
(a[1]*b[0]
-
a[0]*b[1])/sq;
}
void
main()
{
double
a[2];
//
=
{
1.,
1.
};
double
b[2];//
=
{
2.,
3.
};
double
c[2];
float
f;
int
i;
for(
i=0;
i<2;
i++
)
{
scanf(
"%f",
&f
);
a[i]
=
f;
}
for(
i=0;
i<2;
i++
)
{
scanf(
"%f",
&f
);
b[i]
=
f;
}
ComplexDivide(
a,
b,
c
);
printf("%g,
%g\n",
c[0],
c[1]
);
}

热心网友 时间:2024-10-27 19:42

下面的那个回答基本上就正确的,只有一个问题:对除数为0的情况没有考虑到。(对错误的处理)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com