#include<stdio.h>
#include<math.h>
typedef struct{
double realpart;//实部
double imagepart;//虚部
}complex;//构建复数
complex add(complex fir,complex sec)//加
{
complex sum;
sum.realpart=fir.realpart+sec.realpart;
sum.imagepart=fir.imagepart+sec.imagepart;
return sum;
}
complex sub(complex fir,complex sec) //减
{
complex sub2;
sub2.realpart=fir.realpart-sec.realpart;
sub2.imagepart=fir.imagepart-sec.imagepart;
return sub2;
}
complex ride(complex fir,complex sec)//乘
{
complex ride2;
ride2.realpart=fir.realpart*sec.realpart-fir.imagepart*sec.imagepart;
ride2.imagepart=fir.realpart*sec.imagepart+fir.imagepart*sec.realpart;
return ride2;
}
complex except(complex fir,complex sec)
{
complex except2;
except2.realpart=(fir.realpart*sec.realpart+fir.imagepart*sec.imagepart)/(pow(sec.realpart,2)+pow(sec.imagepart,2));
except2.imagepart=(fir.imagepart*sec.realpart-fir.realpart*sec.imagepart)/(pow(sec.realpart,2)+pow(sec.imagepart,2));
return except2;
}
int main()
{//所有结果均保留两位小数
complex fir,sec;
scanf("%lf %lf %lf %lf",&fir.realpart,&fir.imagepart,&sec.realpart,&sec.imagepart);
complex he=add(fir,sec);//两复数的和
printf("%.2lf+%.2lfi\n",he.realpart,he.imagepart);
complex cha=sub(fir,sec);//两复数之差
printf("%.2lf+%.2lfi\n",cha.realpart,cha.imagepart);
complex chen=ride(fir,sec);//两复数之乘
printf("%.2lf+%.2lfi\n",chen.realpart,chen.imagepart);
complex chu=except(fir,sec);//两复数之除
printf("%.2lf+%.2lfi\n",chu.realpart,chu.imagepart);
}
数据结构复数构建
最新推荐文章于 2023-04-19 22:55:08 发布