资源描述:
《复数运算2010810071何荣贤》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、集美大学计算机工程学院实验报告课程名称:数据结构与算法班级:计算1013实验成绩:指导老师:杨艳华姓名:何荣贤实验名称:复数四则运算学号:2010810071上机时间2011年9月6号编号:01组号;11上机完成时间:2学时一.实验目的熟悉抽象数据类型的表示和实现方法。抽象数据类型需借助固有数据类型表示和实现,及利用高级程序设计语言中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作,具体实现细节则依赖于所用的语言的功能。通过本次实习还可以帮助读者复习高级语言的使用方法。二.实验内容1.问题描述设计一个可进行复数运算的演示程序2.基本要求实现下列六种基本运算:1)由输入的实
2、部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数的求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。运算结果以相应的复数或实数的表示形式显示。3.程序代码#include#includetypedefstructComplex{floatreal;floatimage;}Complex;ComplexCreatCom(floatreal,floatimage);Complexjia(Complexc1,Complexc2);/*复数相加*/Complexjian(Complexc1,Complexc2);/*复数相
3、减*/Complexcheng(Complexc1,Complexc2);/*复数相乘*/Complexchu(Complexc1,Complexc2);/*复数相除*/voidPrintCom(Complexc1);/*输出复数*/main(){Complexc1,c2,c3;floatReal1=0,Image1=0,Real2=0,Image2=0;/*没有输入默认为0*/intchoice,flag=0;printf("*************************复数运算**************************");printf("ttt1.复数构造
4、ttt2.复数相加ttt3.复数相减");printf("ttt4.复数相乘ttt5.复数相除ttt6.提取实部");printf("ttt7.提取虚部ttt0.退出ttt");printf("***********************************************************");while(1){/*用循环实现选择不同的运算*/printf("输入你的操作序号:");scanf("%d",&choice);switch(choice){case1:print
5、f("输入第一个复数的实部和虚部:");scanf("%f,%f",&Real1,&Image1);c1=CreatCom(Real1,Image1);PrintCom(c1);printf("输入第二个复数的实部和虚部:");scanf("%f,%f",&Real2,&Image2);c2=CreatCom(Real2,Image2);PrintCom(c2);flag=1;break;case2:if(flag==1){c3=jia(c1,c2);printf("两数之和是:");PrintCom(c3);}elseprintf("您还未构造复数!");break;case3:
6、if(flag==1){c3=jian(c1,c2);printf("两数之差是:");PrintCom(c3);}elseprintf("您还未构造复数!");break;case4:if(flag==1){c3=cheng(c1,c2);printf("两数之积是:");PrintCom(c3);}elseprintf("您还未构造复数!");break;case5:if(flag==1){c3=chu(c1,c2);printf("两数之商是:");PrintCom(c3);}elseprintf("您还未构造复数!");break;case6:if(flag==1)
7、{printf("第一个复数实部为:%.2f",c1.real);printf("第二个复数实部为:%.2f",c2.real);}elseprintf("您还未构造复数!");break;case7:if(flag==1){printf("第一个复数虚部为:%.2fi",c1.image);printf("第二个复数虚部为:%.2fi",c2.image);}elseprintf("您还未构造复数!");break;c