首页 > 编程知识 正文

共轭复数基本运算,复数运算的基本法则

时间:2023-05-05 18:52:58 阅读:243883 作者:4590

复数基本运算(C语言)

#include#includetypedef 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("0n"); if(c.real==0.0&&c.image!=0.0) printf("%fin",c.image);if(c.real!=0.0&&c.image==0.0) printf("%fn",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("求和后结果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。