【C语言编程5】复数计算器

C语言编程

本程序的功能是一个简单的复数计算器

功能包括复数的乘法,复数的除法,复数的模计算

乘法法则
复数的乘法法则:把两个复数相乘,类似两个多项式相乘,结果中i^2= -1,把实部与虚部分别合并。两个复数的积仍然是一个复数。

除法法则
复数除法定义:满足 的复数 叫复数a+bi除以复数c+di的商。
运算方法:将分子和分母同时乘以分母的共轭复数,再用乘法法则运算,
即(分母实数化)。

复数的模
将复数的实部与虚部的平方和的正的平方根的值称为该复数的模,记作∣z∣.

代码如下

#include<stdio.h>
#include<math.h> 
//复数计算器 
double a, b, c, d, e, f;
void multi()//复数乘法 
{
	printf("输入第一个数的实部\n");
	scanf("%lf", &a);
	printf("输入第一个数的虚部\n");
	scanf("%lf", &b);
	printf("输入第二个数的实部\n");
	scanf("%lf", &c);
	printf("输入第二个数的虚部\n");
	scanf("%lf", &d);
	e = a * c - b * d;
	f = a * d + b * c;
	printf("等于%lf + i%lf\n", e, f);
}

void div()//复数除法 
{
	printf("输入第一个数的实部\n");
	scanf("%lf", &a);
	printf("输入第一个数的虚部\n");
	scanf("%lf", &b);
	printf("输入第二个数的实部\n");	
	scanf("%lf", &c);
	printf("输入第二个数的虚部\n");
	scanf("%lf", &d);
	e = (a * c + b * d) / (c * c + d * d);
	f = (b * c - a * d) / (c * c + d * d);
	printf("等于%lf + i%lf\n", e, f);
}

void len()
{
	printf("输入数的实部\n");
	scanf("%lf", &a);
	printf("输入数的虚部\n");
	scanf("%lf", &b);
	e = a * a + b * b;
	f = sqrt(e);
	printf("模长为%lf\n", f);
}

int main()
{
	int i;
	while(1)
	{	
		printf("输1做乘法,输2做除法,输入3求模长\n"); 
		scanf("%d", &i);
		if(i == 1)
			multi();
		else if(i == 2)
			div();
		else if(i == 3)
			len(); 
		else 
			break; 
	}
	return 0;
}

运行结果示例
在这里插入图片描述