资源描述:
《运用C语言编写复数的四则运算.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.....运用C语言编写复数的四则运算一、需求分析1.设计一个可进行复数运算的演示程序2.实现下列六种基本运算:(1)由于输入的实部和虚部生成一个复数;(2)两个复数求和;(3)两个复数求差;(4)两个复数求积;(5)从已知复数中分离出虚部。运算结果一相应的复数或实数的表示形式显示。3.程序执行的命令包括:a.输入数据生成一个复数b.求复数和c.求复数差d.求复数积4.(1)建立一个复数,然后根据提示用户输入两个复数,使得能同时进行两个复数的加.减.乘运算。(2)输入形式和输入值得范围:分别输入两个复数,其格式为:a+bi用e
2、nter结束输入。(3)输出形式:按程序规定输出其运算值。如:运算后只有实数时只输出实数虚部部分不表示,反之一样5.测试程序(1)0,0;0,0;应输出“0”(2)3.1,0;4.22,8.9;应输出“7.32+i8.9”可编辑.....(3)-1.33,2.34;0.1,-6.5;应输出“-1.23-i4.16”(4)0,9.7;-2.1,-9.7;应输出“-2.1”(5)7.7,-8;-7.7,0;应输出“-i8”二.概要分析1.为实现上述程序的功能,需要定义一个表示复数的抽象数据类型。2.本程序包含的函数:(1)主函数m
3、ain();(2)构造函数typedefstruct();(3)调用函数ComplexcreateComplex(floata,floatb)Complexadd(Complexz1,Complexz2)Complexjian(Complexz1,Complexz2)Complexcheng(Complexz1,Complexz2)voidprintComplex(Complexz);各函数关系如下:(5)主函数伪代码main(){说明一个构造函数Complex;定义两个实数和虚数分别为z1,z2;提示输入实数和虚数z1,z2
4、;调用子函数;提示输入+-*;可编辑.....根据输入的符号判断输入的复数做何运算{输入+时,调用加法子函数,打印输出;输入-时,调用加法子函数,打印输出;输入*时,调用加法子函数,打印输出;}}二.详细设计1.主函数及其他函数#include#includetypedefstruct{floatre;floatim;}Complex;ComplexcreateComplex(floata,floatb)//编写一个函数生成复数//{Complexz;可编辑.....z.re=a;z.im=b
5、;returnz;}voidprintComplex(Complexz)//输出复数并控制其格式//{if(z.re==0&&z.im==0)printf("0");elseif(z.re!=0&&z.im==0)printf("%.2f",z.re);elseif(z.re==0&&z.im!=0){if(z.im>0)printf("i%.2f",z.im);elseif(z.im<0)printf("-i%.2f",fabs(z.im));}else{if(z.im>0)printf("%.2f+i%.2
6、f",z.re,z.im);可编辑.....elseprintf("%.2f-i%.2f",z.re,fabs(z.im));}}Complexadd(Complexz1,Complexz2){Complexz;z.re=z1.re+z2.re;z.im=z1.im+z2.im;returnz;}Complexjian(Complexz1,Complexz2){Complexz;z.re=z1.re-z2.re;z.im=z1.im-z2.im;returnz;}Complexcheng(Complexz1,Compl
7、exz2)可编辑.....{Complexz;z.re=z1.re*z2.re-z1.im*z2.im;z.im=z1.re*z2.im+z1.im*z2.re;returnz;}main(){floata,b,c,d;Complexz1,z2,c1,c2,c3;printf("请输入元素");scanf("%f%f%f%f",&a,&b,&c,&d);//输入元素并调用函数生成复数z1,z2;并输出//z1=createComplex(a,b);z2=createComplex(c,d);printf("产生的两个复数为:"
8、);printComplex(z1);printComplex(z2);可编辑.....c1=add(z1,z2);c2=jian(z1,z2);c3=cheng(z1,z2);printf("这两个复数的和差积:");printComplex(c1);printComple