c语言抽象数据类型-复数

设计一个可进行复数运算的演示程序,要求实现下列四种基本运算:

1)由输入的实部和虚部生成一个复数;

2)两个复数求和;

3)两个复数求差;

4)两个复数求积;

5)打印输出一个复数。

复制代码
#include <stdio.h>
typedef struct {
	float x;
	float y;
} complex;
void creat(complex* c);
void outputc(complex a);
complex add(complex k, complex h);
complex sub(complex k, complex h);
complex chengji(complex k, complex h);
complex a, b, a1;
int cmd;
int main() {
	creat(&a);
	outputc(a);
	creat(&b);
	outputc(b);
	printf("相加");
	a1 = add(a, b);
	outputc(a1);
	printf("相减");
	a1 = sub(a, b);
	outputc(a1);
	printf("相乘");
	a1 = chengji(a, b);
	outputc(a1);
	return 0;
}
void creat(complex* c)
{
	float x1, y1;
	printf("\n输入实部 x = ");
	scanf_s("%f", &x1);
	printf("\n输入虚部 y = ");
	scanf_s("%f", &y1);
	c->x = x1;
	c->y = y1;
}

void outputc(complex a)
{
	printf("复数: %lf + %lfi\n", a.x, a.y);
}
complex add(complex k, complex h)
{
	complex l;
	l.x = k.x + h.x;
	l.y = k.y + h.y;
	return l;
}
complex sub(complex k, complex h)
{
	complex l;
	l.x = k.x - h.x;
	l.y = k.y - h.y;
	return l;
}
complex chengji(complex k, complex h)
{
	complex l;
	l.x = k.x * h.x - k.y * h.y;
	l.y = k.x * h.y + k.y * h.x;
	return l;
}
相关推荐
三品吉他手会点灯1 天前
C语言学习笔记 - 44.运算符和表达式 - 运算符2 - 除法与取余运算符
c语言·开发语言·笔记·算法
kkeeper~1 天前
0基础C语言积跬步之动态内存管理
c语言·开发语言
艾iYYY1 天前
string 类的模拟实现
android·服务器·c语言·c++·算法
Lsk_Smion1 天前
力扣实训 _ [75].颜色分类 _ 杨辉三角
数据结构·算法·leetcode
jidaowansui1 天前
P11375 [GESP202412 六级] 树上游走
数据结构·算法
hai3152475431 天前
FlashAttention C语言(C++)实现(展示版)
c语言·开发语言·c++·人工智能·算法
wuminyu1 天前
Java锁机制之Java对象重量级锁源码剖析
java·linux·c语言·jvm·c++
一切皆是因缘际会1 天前
AI智能新时代
数据结构·人工智能·ai·架构
apocelipes1 天前
GNU GCC 多版本函数扩展
c语言·c++·linux编程
辰痕~1 天前
指针,结构体,动态内存分配
c语言