数据结构的复数四则运算

  • X6_619463
    了解作者
  • 78.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-15 12:11
    上传日期
这是关于数据结构试验的复数四则运算试验报告和代码~~欢迎下载
数据结构的复数四则运算.rar
  • 新建文件夹
  • 复数运算实验报告.doc
    126.5KB
  • 复数运算最终版本.exe
    17.9KB
  • 复数运算.cpp
    3KB
内容介绍
#include<stdio.h> #include<stdlib.h> typedef struct Complex//抽象数据类型定义 { float real; float image; }Complex; void CreatComplex(Complex&c,float a,float b)//构造二元组 { c.real=a; c.image=b; } void AddComplex(Complex& sum,Complex c1,Complex c2) { sum.real=c1.real+c2.real; sum.image=c1.image+c2.image; } void Subtract_C(Complex& Sub,Complex c1,Complex c2) { Sub.real=c1.real-c2.real; Sub.image=c1.image-c2.image; } void Multiple_C(Complex& product,Complex c1,Complex c2) { product.real=c1.real*c2.real-c1.image*c2.image; product.image=c1.real*c2.image+c1.image*c2.real; } void Divide_C(Complex& product,Complex c1,Complex c2) { product.real=(c1.real*c2.real+c1.image*c2.image)/(c1.image*c1.image+c2.image*c2.image); product.image=(c1.real*c2.real-c1.image*c2.image)/(c1.image*c1.image+c2.image*c2.image); } void Print_C(Complex c) { if(c.real==0.0&&c.image==0.0) printf("0\n"); if(c.real==0.0&&c.image!=0.0) printf("%.3fi\n",c.image); if(c.real!=0.0&&c.image==0.0) printf("%.3f\n",c.real); if(c.real!=0.0&&c.image>0.0) printf("%.3f+%.3fi\n",c.real,c.image); if(c.real!=0.0&&c.image<0.0) printf("%.3f%.3fi\n",c.real,c.image); } int main() { int choice; float a,b,c,d; Complex c1,c2,sum,Sub,Prod; printf(" *************复数四则运算***************\n"); printf(" * 1.生成复数 *\n"); printf(" * 2.两复数求和 *\n"); printf(" * 3.两复数求差 *\n"); printf(" * 4.两复数求积 *\n"); printf(" * 5.两复数求商 *\n"); printf(" * 6.求复数实部 *\n"); printf(" * 7.求复数虚部 *\n"); printf(" * 8.退出系统 *\n"); printf(" ****************************************\n"); printf("请分别输入第一个复数的实部和虚部: 输入格式为a,b\n"); scanf("%f,%f",&a,&b);CreatComplex(c1,a,b); printf("请分别输入第二个复数的实部和虚部:输入格式为c,d\n "); scanf("%f,%f",&c,&d);CreatComplex(c2,c,d); for(;;) { printf("请输入你选择的功能:\n "); scanf("%d",&choice); switch(choice) { case 1:printf("第一个复数为: ");Print_C(c1); printf("第二个复数为: ");Print_C(c2); break; case 2:AddComplex(sum,c1,c2); printf("求和后结果为: "); Print_C(sum); break; case 3:Subtract_C(Sub,c1,c2); printf("求差后结果为: "); Print_C(Sub); break; case 4:Multiple_C(Prod,c1,c2); printf("求积后结果为: "); Print_C(Prod); break; case 5:Divide_C(Prod,c1,c2); printf("求商后结果为: "); Print_C(Prod); break; case 6: printf("第一个复数的实部是: %.3f\n",a); printf("第二个复数的实部是:%.3f\n",c); break; case 7: printf("第一个复数的虚部是: %.3fi\n",b); printf("第二个复数的虚部是:%.3fi\n",d); break; default:exit(0); break; } } }
评论
    相关推荐