当前位置:文档之家› 复数四则运算C语言

复数四则运算C语言

{
if ((z.e2>0)&&(z.e1!=0))
{
printf("%.3f+%.3fi\n",z.e1,z.e2);
};
if ((z.e2<0)&&(z.e1!=0))
{
printf("%.3f%.3fi\n",z.e1,z.e2);
};
if ((z.e2==0)&&(z.e1!=0))
{
printf("%.3f\n",z.e1);
scanf("%f%f",&x,&y);
z1=initcomplex(x,y);
outputcomplex(z1);
printf("请输入第二个复数:");
scanf("%f%f",&x,&y);
z2=initcomplex(x,y);
outputcomplex(z2);
printf("两个复数相加结果");
printf("两个复数相除结果");
ericomplex(z,z1,z2);
outputcomplex(z);
}
学号:*************姓名:左力专业:通信工程班级:2015级5班
实验项目名称:复数加减乘除
课程名称:数据结构实验指导老师:贺春林
1.实验目的
1、掌握c语言的简单编程
2、掌握c语言函数的实现
3、掌握c语言结构体的实现
2.实验原理和内容
使用一个结构体来编写代码,实现复数的加减乘除
结构体:结构体有两个类,即复数的实部和虚部
a=z1.e1*z2.e1;
b=z1.e2*z2.e2;
c=z1.e1*z2.e2;
d=z1.e2*z2.e1;
e=a+b;
f=d-c;
g=z2.e1*z2.e1;
h=z2.e2*z2.e2;
t=g+h;
z.e1=e/t;
z.e2=f/t;
}
void outputcomplex(complex z)
};
if ((z.e1==0)&&(z.e2!=0))
{
printf("%.3fi\n",z.e2);
};
if ((z.e1==0)&&(z.e2==0))
{
printf("0\n");
};
}
void main(){
complex z1,z2,z;
float x,y;
printf("请输入第一个复数:");
复数加减:对应的复数的实部和虚部分别相减
复数乘法:(a+ib)(c+id)=(ac-bd)+i(ad+bc)
复数除法:
3.实验要求
编写代码实现复数的加减乘除
4.实验代码
#include "stdio.h"
#include "stdlib.h"
typedef struct complex{
float e1;
addcomplex(z,z1,z2);
outputcomplex(z);
printf("两个复数相乘结果");
mulcomplex(z,z1,z2);
outputcomplex(z);
printf("两个复数相减结果");
minuscomplex(z,z1,z2);
outputcomplex(z);
{
float a,b,c,d;
a=z1.e1*z2.e1;
b=z1.e2*z2.e2;
c=z1.e1*z2.e2;
d=z1.e2*z2.e1;
z.e1=a-b;
z.e2=c+d;
}
void ericomplex(complex &z,complex z1,complex z2)
{float a,b,c,d,e,f,g,h,t;
float e2;}co源自plex;complex initcomplex(float x,float y)
{
complex z1;
z1.e1=x;
z1.e2=y;
return z1;
}
void addcomplex(complex &z,complex z1,complex z2)
{
z.e1=z1.e1+z2.e1;
z.e2=z1.e2+z2.e2;
}
void minuscomplex(complex &z,complex z1,complex z2)
{
z.e1=z1.e1-z2.e1;
z.e2=z1.e2-z2.e2;
}
void mulcomplex(complex &z,complex z1,complex z2)
相关主题