怎样用C语言实现复数的加减乘?

sxywh2002 2004-12-09 12:16:39
以前学C语言和C++都不是很精.记得有从C++上学过实现复数的加减乘,好象用的是类实现的.
不知道用C语言怎么编写啊?
有那位能写一下吗?谢谢了.:)
...全文
477 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
idler 2004-12-10
  • 打赏
  • 举报
回复
结贴~~~~~~~~~~~~~~~~~
DuoFG 2004-12-09
  • 打赏
  • 举报
回复
自己定义一个ADT
great_chenliang 2004-12-09
  • 打赏
  • 举报
回复
C99有复数的实现
masse 2004-12-09
  • 打赏
  • 举报
回复
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;
}

idler 2004-12-09
  • 打赏
  • 举报
回复
只有用函数表示操作了。。。
用结构体表示一个复数。
pacman2000 2004-12-09
  • 打赏
  • 举报
回复
利用struct来模拟啊,把这些操作都用函数表示。
dudu妈 2004-12-09
  • 打赏
  • 举报
回复
可以用重载,不过好像 成了用C++了
idler 2004-12-09
  • 打赏
  • 举报
回复
笔误笔误。。。
void complex_mul(const COMPLEX * a, const COMPLEX * b, COMPLEX * c)
{
c->re = a->re * b->re - a->im * b->im;
c->im = a->im * b->re + b->im * a->re;
}
idler 2004-12-09
  • 打赏
  • 举报
回复
masse(当午) ,还是用double比较厚道啊哈哈
typedef struct complex_t {
double re;
double im;
} COMPLEX;

void complex_add(const COMPLEX * a, const COMPLEX * b, COMPLEX * c)
{
c->re = a->re + b->re;
c->im = a->im + b->im;
}

void complex_minus(const COMPLEX * a, const COMPLEX * b, COMPLEX * c)
{
c->re = a->re - b->re;
c->im = a->im - b->im;
}

void complex_mul(const COMPLEX * a, const COMPLEX * b, COMPLEX * c)
{
c->re = a.re * b.re - a.im * b.im;
c->im = a.im * b.re + b.im * a.re;
}
除比较复杂,如果要实现的话建议用三角形式。。。
sxywh2002 2004-12-09
  • 打赏
  • 举报
回复
有没有具体的程序啊?

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧