问题及代码:
编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整。
#include <stdio.h>
struct complex
{
int re;
int im;
};
int main()
{
struct complex x,y,s,p;
scanf("%d%d",&x.re,&x.im);
scanf("%d%d",&y.re,&y.im);
//复数s是复数x和y的和
s.re=_______(1)_______;
s.im=_______(2)_______;
printf(" sum=%5d+%5di\n",s.re,s.im);
//复数p是复数x和y的积
p.re=_______(3)_______;
p.im=x.re*y.im+x.im*y.re;
printf(" product=%5d+%5di\n",p.re,p.im);
return 0;
}
#include <stdio.h>
struct complex
{
int re;
int im;
};
int main()
{
struct complex x,y,s,p;
scanf("%d%d",&x.re,&x.im);
scanf("%d%d",&y.re,&y.im);
//复数s是复数x和y的和 (a+bi)+(c+di)=(a+c)+(b+d)i.
s.re=x.re+y.re;
s.im=x.im+y.im;
printf(" sum=%5d+%5di\n",s.re,s.im);
//复数p是复数x和y的积 (a+bi)(c+di)=(ac-bd)+(bc+ad)i
p.re=x.re*y.re-x.im*y.im;
p.im=x.re*y.im+x.im*y.re;
printf(" product=%5d+%5di\n",p.re,p.im);
return 0;
}
运行结果:
知识点总结:
(a+bi)+(c+di)=(a+c)+(b+d)i.
(a+bi)(c+di)=(ac-bd)+(bc+ad)i
学习心得:要清楚常见数学公式