我是靠谱客的博主 老迟到冬日,最近开发中收集的这篇文章主要介绍C语言_用结构体类型实现复数的加、减、乘、除运算,每种运算用函数完成,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

部分图片来自复数乘法(复数运算公式大全) - 红豆博客

如题ヽ(゜▽゜ )因为比较简单就直接给示例了。

这里输入的是复数 a+bi 中的实部 a 和虚部 b。

首先我们要知道复数的运算是如何的:

        加和减:

        乘:

        除:

代码如下:

#include<stdio.h>
typedef struct complex
{
	float real;
	float imag;
}COMPLEX;
void input(COMPLEX *s1,char *c,COMPLEX *s2);
void output(COMPLEX a,COMPLEX b,COMPLEX s,char c);
COMPLEX add(COMPLEX str1,COMPLEX str2);
COMPLEX sub(COMPLEX str1,COMPLEX str2);
COMPLEX mul(COMPLEX str1,COMPLEX str2);
COMPLEX div(COMPLEX str1,COMPLEX str2);
main ()
{
	COMPLEX a,b,s;
	char c;
	printf ("请输入两个复数和一个运算符(用空格隔开):n");
	input(&a,&c,&b);
	if (c=='+')
		s=add(a,b);
	if (c=='-')
		s=sub(a,b);
	if (c=='*')
		s=mul(a,b);
	if (c=='/')
		s=div(a,b);
	output(a,b,s,c);
}
void input(COMPLEX *s1,char *c,COMPLEX *s2)
{
	scanf ("%f %f %c %f %f",&s1->real,&s1->imag,c,&s2->real,&s2->imag);
}
COMPLEX add(COMPLEX str1,COMPLEX str2)
{
	COMPLEX ad;
	ad.real=str1.real+str2.real;
	ad.imag=str1.imag+str2.imag;
	return ad;
}
COMPLEX sub(COMPLEX str1,COMPLEX str2)
{
	COMPLEX su;
	su.real=str1.real-str2.real;
	su.imag=str1.imag-str2.imag;
	return su;
}
COMPLEX mul(COMPLEX str1,COMPLEX str2)
{
	COMPLEX mu;
	mu.real=(str1.real*str2.real)-(str1.imag*str2.imag);
	mu.imag=(str1.real*str2.imag)+(str1.imag*str2.real);
	return mu;
}
COMPLEX div(COMPLEX str1,COMPLEX str2)
{
	COMPLEX di;
	di.real=(str1.real*str2.real+str1.imag*str2.imag)/(str2.real*str2.real+str2.imag*str2.imag);
	di.imag=(str1.imag*str2.real-str1.real*str2.imag)/(str2.real*str2.real+str2.imag*str2.imag);
	return di;
}
void output(COMPLEX a,COMPLEX b,COMPLEX s,char c)
{
	if (b.real==0&&b.imag==0)
		printf ("errorn");
	else
	{
		printf ("运算结果显示:n");
		if (a.imag>0||b.imag>0)
			printf ("(%.1f+%.1fi) %c (%.1f%.1fi) = ",a.real,a.imag,c,b.real,b.imag);
		else
			printf ("(%.1f%.1fi) %c (%.1f%.1fi) = ",a.real,a.imag,c,b.real,b.imag);
		if (s.imag>0)
			printf ("(%.1f+%.1fi)n",s.real,s.imag);
		else
			printf ("(%.1f%.1fi)n",s.real,s.imag);
	}
}

运行结果:

        复数加法:

         复数减法:

        复数乘法:

        复数除法:

        无法运算:

以上! (欢迎评论互动)

最后

以上就是老迟到冬日为你收集整理的C语言_用结构体类型实现复数的加、减、乘、除运算,每种运算用函数完成的全部内容,希望文章能够帮你解决C语言_用结构体类型实现复数的加、减、乘、除运算,每种运算用函数完成所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部