【无标题】

C语言实现复数的四则运算

#include<stdio.h>
#include<stdlib.h>
typedef struct
{
	float realPart;
	float imagePart;
}Complex;

void initialComplex(Complex &C,float r,float i)//初始化复数
{
	C.realPart = r;
	C.imagePart = i;
}

void sum(Complex &C, Complex A, Complex B)//求两个复数的和
{
	C.realPart = A.realPart + B.realPart;
	C.imagePart = A.imagePart + B.imagePart;
}

void mul(Complex &C, Complex A, Complex B)//求两个复数的乘法
{
	C.realPart = A.realPart*B.realPart - A.imagePart*B.imagePart;
	C.imagePart = A.realPart*B.imagePart + A.imagePart*B.realPart;
}

void divid(Complex &C,Complex A,Complex B)//求两个复数的除法
{
	C.realPart = A.realPart*B.realPart + A.imagePart*B.imagePart;
	C.imagePart = B.imagePart *A.realPart + A.imagePart*B.realPart;
	float f = B.realPart + B.imagePart*B.imagePart;//分母
	if (f != 0)
	{
		C.realPart = C.realPart / f;
		C.imagePart = C.imagePart / f;
	}
	else
	{
		printf("复数的除法中分母为0,异常退出!");
		exit(0);//使用exit函数必须使用stdlib.h头文件
	}
}

void main()
{
	Complex z, z1, z2,z3,z4;
	initialComplex(z, 1, 2);
	initialComplex(z1, -1, 1 );
	sum(z2, z, z1);
	mul(z3, z, z1);
	divid(z4, z, z1);
	printf("复数z:%f%+fi\n", z.realPart, z.imagePart);
	printf("复数z1:%f%+fi\n", z1.realPart, z1.imagePart);
	printf("z+z1:%f%+fi\n", z2.realPart, z2.imagePart);
	printf("z*z1:%f%+fi\n", z3.realPart, z3.imagePart);
	printf("z/z1:%f%+fi\n", z4.realPart, z4.imagePart);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值