编写利用结构体实现复数的加、减、乘、除=运算的C语言程序
期末课程设计题目:题目结构表示回传方式操作实数对(实部,虚部)实数对结构体指针当前对象基本操作恩大概要求就是这样……高手帮忙整一哈~!...
期末课程设计题目 : 题 目 结构 表示 回传方式 操作 实数对 (实部,虚部) 实数对结构体指针 当前对象 基本操作恩 大概要求就是这样…… 高手帮忙 整一哈~!
展开
展开全部
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;
}
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;
}
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询