资源描述:
《复数四则运算C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学号:45姓名:左力专业:通信工程班级:2015级5班实验项目名称:复数加减乘除课程名称:数据结构实验指导老师:贺春林1.实验目的1、掌握c语言的简单编程2、掌握c语言函数的实现3、掌握c语言结构体的实现2.实验原理和内容使用一个结构体来编写代码,实现复数的加减乘除结构体:结构体有两个类,即复数的实部和虚部复数加减:对应的复数的实部和虚部分别相减复数乘法:(a+ib)(c+id)=(ac-bd)+i(ad+bc)复数除法:3.实验要求编写代码实现复数的加减乘除1.实验代码#include"stdio.h"#include"stdlib.h"typedefst
2、ructcomplex{floate1;floate2;}complex;complexinitcomplex(floatx,floaty){complexz1;z1.e1=x;z1.e2=y;returnz1;}voidaddcomplex(complex&z,complexz1,complexz2){z.e1=z1.e1+z2.e1;z.e2=z1.e2+z2.e2;}voidminuscomplex(complex&z,complexz1,complexz2){z.e1=z1.e1-z2.e1;z.e2=z1.e2-z2.e2;}voidmulcomp
3、lex(complex&z,complexz1,complexz2){floata,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;}voidericomplex(complex&z,complexz1,complexz2){floata,b,c,d,e,f,g,h,t;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*
4、z2.e2;t=g+h;z.e1=e/t;z.e2=f/t;}voidoutputcomplex(complexz){if((z.e2>0)&&(z.e1!=0)){printf("%.3f+%.3fi",z.e1,z.e2);};if((z.e2<0)&&(z.e1!=0)){printf("%.3f%.3fi",z.e1,z.e2);};if((z.e2==0)&&(z.e1!=0)){printf("%.3f",z.e1);};if((z.e1==0)&&(z.e2!=0)){printf("%.3fi",z.e2);};if((z.e
5、1==0)&&(z.e2==0)){printf("0");};}voidmain(){complexz1,z2,z;floatx,y;printf("请输入第一个复数:");scanf("%f%f",&x,&y);z1=initcomplex(x,y);outputcomplex(z1);printf("请输入第二个复数:");scanf("%f%f",&x,&y);z2=initcomplex(x,y);outputcomplex(z2);printf("两个复数相加结果");addcomplex(z,z1,z2);outputcomplex(z);
6、printf("两个复数相乘结果");mulcomplex(z,z1,z2);outputcomplex(z);printf("两个复数相减结果");minuscomplex(z,z1,z2);outputcomplex(z);printf("两个复数相除结果");ericomplex(z,z1,z2);outputcomplex(z);}