编写利用结构体实现复数的加、减、乘、除=运算的C语言程序

期末课程设计题目:题目结构表示回传方式操作实数对(实部,虚部)实数对结构体指针当前对象基本操作恩大概要求就是这样……高手帮忙整一哈~!... 期末课程设计题目 : 题 目 结构 表示 回传方式 操作 实数对 (实部,虚部) 实数对结构体指针 当前对象 基本操作恩 大概要求就是这样…… 高手帮忙 整一哈~! 展开
 我来答
36557832
2012-03-17 · TA获得超过11.4万个赞
知道顶级答主
回答量:7万
采纳率:4%
帮助的人:4.2亿
展开全部
C++可以用类,然后重载运算符
C可以用struct来代替类,然后写相应函数来就行了,一回事
下面是随手写的,大概就这样子吧
struct complex{
int real;
int imag;
}a,b;

complex Plus(complex a,complex b)
{
complex result;
result->real = a->real + b->real;
result->imag = a->imag + b->imag;
return result;
}
terranlong
2012-03-13 · TA获得超过7292个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3842万
展开全部
#include <stdio.h>

typedef struct Complex
{
double real;
double imag;
}Complex;

Complex add(Complex c1, Complex c2)
{
Complex c3;
c3.real = c1.real + c2.real;
c3.imag = c1.imag + c2.imag;
return c3;
}

Complex sub(Complex c1, Complex c2)
{
Complex c3;
c3.real = c1.real - c2.real;
c3.imag = c1.imag - c2.imag;
return c3;
}

Complex mul(Complex c1, Complex c2)
{
Complex c3;
c3.real = c1.real * c2.real - c1.imag * c2.imag;
c3.imag = c1.imag * c2.real + c1.real * c2.imag;
return c3;
}

Complex div(Complex c1, Complex c2)
{
Complex c3;
double u = c2.real * c2.real + c2.imag * c2.imag;
c3.real = (c1.real * c2.real + c1.imag * c2.imag) / u;
c3.imag = (c1.imag * c2.real - c1.real * c2.imag) / u;
return c3;
}

void print(Complex c)
{
printf("%lf+%lfi", c.real, c.imag);
}

int main()
{
Complex c1 = {5, 6};
Complex c2 = {3, 4};
print(add(c1, c2));
printf("\n");
print(sub(c1, c2));
printf("\n");
print(mul(c1, c2));
printf("\n");
print(div(c1, c2));
printf("\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式