#include<stdio.h>
typedef struct Complex
{
float real;
float img;
}Complex;
Complex x[20],he,cha,ji,shang;
//Complex cmplx_cha(c,b);
//Complex cmplx_add(c,b);
//Complex cmplx_ji(c,b);
//Complex cmplx_shang(c,b);
int main()
{
int c,b,i,j,n,o,y;
Complex cmplx_cha(c,b);
Complex cmplx_add(c,b);
Complex cmplx_ji(c,b);
Complex cmplx_shang(c,b);
printf("输入复数个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入代号为%d的复数,实部虚部中间用空格代替\n",i);
scanf("%f %f",&x[i].real,&x[i].img);
}
for(o=1;o<=1; )
{
printf("1-加 2-减 3-乘 4-除\n");
scanf("%d",&j);
switch(j)
{
case 1:
{
printf("选择两个代号相加\n");
scanf("%d %d",&c,&b);
he.img=cmplx_add(c,b).img;
he.real=cmplx_add(c,b).real;
printf("%f+i%f\n",he.real,he.img);
break;
}
case 2:
{
printf("选择两个代号相减\n");
scanf("%d %d",&c,&b);
cha.img=cmplx_cha(c,b).img;
cha.real=cmplx_cha(c,b).real;
printf("%f+i%f\n",cha.real,cha.img);
break;
}
case 3:
{
printf("选择两个代号相乘\n");
scanf("%d %d",&c,&b);
ji.real=cmplx_ji(c,b).real;
ji.img=cmplx_ji(c,b).img;
printf("%f+i%f\n",ji.real,ji.img);
break;
}
case 4:
{
printf("选择两个代号相除\n");
scanf("%d %d",&c,&b);
shang.real=cmplx_shang(c,b).real;
shang.img=cmplx_shang(c,b).img;
printf("%f+i%f\n",shang.real,shang.img);
break;
}
}
printf("1-退出 2-继续运算\n");
scanf("%d",&y);
if (y<=1)
{
o=7;
printf("感谢使用");
}
else
{o=0;
}
}
return 0;
}
Complex cmplx_add(c,b)
{
Complex z;
z.real=x[c].real+x[b].real;
z.img=x[c].img+x[b].img;
return z;
}
Complex cmplx_cha(c,b)
{
Complex z;
z.real=x[c].real-x[b].real;
z.img=x[c].img-x[b].img;
return z;
}
Complex cmplx_ji(c,b)
{
Complex z;
z.real=x[c].real*x[b].real-x[c].img*x[b].img;
z.img=x[c].real*x[b].img+x[c].img*x[b].real;
return z;
}
Complex cmplx_shang(c,b)
{
Complex z;
float q,s,e;
q=x[b].real*x[b].real+x[b].img*x[b].img;
s=x[c].img*x[b].real-x[c].real*x[b].img;
e=x[c].real*x[b].real+x[c].img*x[b].img;
z.real=e/q;
z.img=s/q;
return z;
}
警告8到11行,可以运行
最新推荐文章于 2024-07-29 22:53:13 发布