首页 复数的基本运算(C语言)

复数的基本运算(C语言)

举报
开通vip

复数的基本运算(C语言)#include #include typedef struct fushu//抽象数据类型定义 { float real;//数据对象 float image; }fushu; fushu ComplexNumberInput(float a,float b)//构造二元组{ fushu c; c.real=a;//实部 c.image=b;//虚部 return(c); } fushu ComplexNumberAdd(fushu c1,fushu c2)//求和运算{ fushu...

复数的基本运算(C语言)
#include #include typedef struct fushu//抽象数据类型定义 { float real;//数据对象 float image; }fushu; fushu ComplexNumberInput(float a,float b)//构造二元组{ fushu c; c.real=a;//实部 c.image=b;//虚部 return(c); } fushu ComplexNumberAdd(fushu c1,fushu c2)//求和运算{ fushu sum; sum.real=c1.real+c2.real; sum.image=c1.image+c2.image; return (sum); } fushu ComplexNumberSub(fushu c1,fushu c2)//求差运算{ fushu sub; sub.real=c1.real-c2.real; sub.image=c1.image-c2.image; return (sub); } fushu ComplexNumberMul(fushu c1,fushu c2)//求积运算{ fushu Mul; Mul.real=c1.real*c2.real-c1.image*c2.image; Mul.image=c1.real*c2.image+c1.image*c2.real; return (Mul); } fushu ComplexNumberDiv(fushu c1,fushu c2)//求商运算{ fushu div; float d1,d2,d3,d4; d1=c1.real*c2.real+c1.image*c2.image; d2=c2.real*c2.real+c2.image*c2.image; d3=c1.image*c2.real-c1.real*c2.image; d4=c2.real*c2.real+c2.image*c2.image; if(d2!=0&&d4!=0) { div.real=d1/d2; div.image=d3/d4; return(div); } else { div.real=0; div.image=0; return(div); } } void ComplexNumberOutput(fushu c)//输出运算结果 { if(c.real==0.0&&c.image==0.0) printf("0\n"); if(c.real==0.0&&c.image!=0.0) printf("%fi\n",c.image); if(c.real!=0.0&&c.image==0.0) printf("%f\n",c.real); if(c.real!=0.0&&c.image!=0.0) printf("%f+(%fi)\n",c.real,c.image); } void main()//主函数 { int choice; int k; float a1,a2,b1,b2; struct fushu c1,c2,sum,sub,mult,div; printf("欢迎进行复数的基本代数运算\n"); printf("1: 复数加法运算\n"); printf("2: 复数减法运算\n"); printf("3: 复数乘法运算\n"); printf("4: 复数除法运算\n"); printf("0: 推出系统\n"); printf("请分别输入第一个复数的实部和虚部: "); scanf("%f%f",&a1,&b1); c1 = ComplexNumberInput(a1,b1); printf("第一个复数为: "); ComplexNumberOutput(c1); printf("请分别输入第二个复数的实部和虚部: "); scanf("%f%f",&a2,&b2); c2 = ComplexNumberInput(a2,b2); printf("第二个复数为: "); ComplexNumberOutput(c2); for(;;) { printf("请输入你选择的功能: "); scanf("%d",&choice); switch(choice) { case 0:exit(0); break; case 1:sum = ComplexNumberAdd(c1,c2); printf("求和后结果为: "); ComplexNumberOutput(sum); break; case 2:sub = ComplexNumberSub(c1,c2); printf("求差后结果为: "); ComplexNumberOutput(sub); break; case 3:mult = ComplexNumberMul(c1,c2); printf("求积后结果为: "); ComplexNumberOutput(mult ); break; case 4:div=ComplexNumberDiv(c1,c2); if(div.real!=0&&div.image!=0) { printf("求商后结果: "); ComplexNumberOutput(div); break; } else { printf("除零错误,请重新输入第二个复数;\n"); k=0; exit(k); } } } }
本文档为【复数的基本运算(C语言)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:7
分类:互联网
上传时间:2019-02-19
浏览量:46