c语言 虚数的四则运算 高手帮帮忙!高手们帮帮忙吧 入门新手实在不会了 用结构体 做一个虚数的四则运算 写add, subtract, multiple, divide四个函数 (麻烦帮忙写一下简单的说明)谢谢

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 19:37:58
c语言 虚数的四则运算 高手帮帮忙!高手们帮帮忙吧   入门新手实在不会了      用结构体 做一个虚数的四则运算  写add, subtract, multiple, divide四个函数      (麻烦帮忙写一下简单的说明)谢谢

c语言 虚数的四则运算 高手帮帮忙!高手们帮帮忙吧 入门新手实在不会了 用结构体 做一个虚数的四则运算 写add, subtract, multiple, divide四个函数 (麻烦帮忙写一下简单的说明)谢谢
c语言 虚数的四则运算 高手帮帮忙!
高手们帮帮忙吧 入门新手实在不会了
用结构体 做一个虚数的四则运算 写add, subtract, multiple, divide四个函数
(麻烦帮忙写一下简单的说明)谢谢谢谢了
a1 : 1+3i
a2 : 5-3.5i
a1 + a2 = 6.0000 - 0.5000i
a1 - a2 = -4.0000 + 6.5000i
a1 * a2 = 15.5000 +11.5000i
a1 / a2 = -0.1477 + 0.4966i

c语言 虚数的四则运算 高手帮帮忙!高手们帮帮忙吧 入门新手实在不会了 用结构体 做一个虚数的四则运算 写add, subtract, multiple, divide四个函数 (麻烦帮忙写一下简单的说明)谢谢
回答的也太快了吧!我刚输完就有这么多了!
还好我这是纯c语言版.
输入数据是实属部分和虚数部分用逗号隔开.
#include
#include
typedef struct
{
double real; /*实数部分*/
double vir; /*虚数部分*/
}COMPLEX;
COMPLEX add(COMPLEX a,COMPLEX b);
COMPLEX substract(COMPLEX a,COMPLEX b);
COMPLEX multiple(COMPLEX a,COMPLEX b);
COMPLEX divide(COMPLEX a,COMPLEX b);
void printC(COMPLEX n)
{
if((n.vir - 0.00) < 0)
printf("(%.4lf%.4lfi)",n.real,n.vir);
else
printf("(%.4lf+%.4lfi)",n.real,n.vir);
}
void main()
{
COMPLEX a,b;
char c;
printf("input real and virtual of complex number a:");
scanf("%lf,%lf",&a.real,&a.vir);
fflush(stdin);
printf("input real and virtual of complex number b:");
scanf("%lf,%lf",&b.real,&b.vir);
c = '+';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(add(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(substract(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(multiple(a,b));
putchar('\n');
c = '/';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(divide(a,b));
putchar('\n');
system("pause");
}
COMPLEX add(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real + b.real;
c.vir = a.vir + b.vir;
return c;
}
COMPLEX substract(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real - b.real;
c.vir = a.vir - b.vir;
return c;
}
COMPLEX multiple(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real * b.real - a.vir * b.vir;
c.vir = a.vir * b.real + a.real * b.vir;
return c;
}
COMPLEX divide(COMPLEX a,COMPLEX b)
{
COMPLEX c;
double den = b.real * b.real + b.vir * b.vir;
c.real = (a.real * b.real + a.vir * b.vir) / den;
c.vir = (a.vir * b.real - a.real * b.vir) / den;
return c;
}