c语言中求复数的和与积
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/13 12:59:51
c语言中求复数的和与积
用以下结构描述复数信息struct complex{int real ,im;}; //分别表示复数的实部与虚部试写出两个通用函数,分别用来求两个复数的和与积.要求:①函数的返回值和形式参数用结构体变量.其函数原型分别为struct complex cadd(struct complex creal,struct complex cim);struct complex cmult(struct complex creal,struct complex cim);②函数的返回值和形式参数用结构体指针变量.其函数原型分别为struct complex *cadd(struct complex *creal,struct complex *cim);struct complex *cmult(struct complex *creal,struct complex *cim);
请写全
用以下结构描述复数信息struct complex{int real ,im;}; //分别表示复数的实部与虚部试写出两个通用函数,分别用来求两个复数的和与积.要求:①函数的返回值和形式参数用结构体变量.其函数原型分别为struct complex cadd(struct complex creal,struct complex cim);struct complex cmult(struct complex creal,struct complex cim);②函数的返回值和形式参数用结构体指针变量.其函数原型分别为struct complex *cadd(struct complex *creal,struct complex *cim);struct complex *cmult(struct complex *creal,struct complex *cim);
请写全
![c语言中求复数的和与积](/uploads/image/z/6316915-67-5.jpg?t=c%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%B1%82%E5%A4%8D%E6%95%B0%E7%9A%84%E5%92%8C%E4%B8%8E%E7%A7%AF)
1.
struct complex cadd(struct complex creal,struct complex cim)
{
complex c;
c.real=creal.real+cim.real;
c.im=creal.im+cim.im;
return c;
}
struct complex cmult(struct complex creal,struct complex cim)
{
complex c;
c.real=creal.real*cim.real-creal.im*cim.im;
c.im=creal.real*cim.im+creal.im*cim.real;
return c;
}
2.
struct complex *cadd(struct complex *creal,struct complex *cim)
{
complex c;
c.real=creal->real+cim->real;
c.im=creal->im+cim->im;
creal->real=c.real;
creal->im=c.im;
return creal;
}
struct complex *cmult(struct complex *creal,struct complex *cim)
{
complex c;
c.real=creal->real*cim->real-creal->im*cim->im;
c.im=creal->real*cim->im+creal->im*cim->real;
creal->real=c.real;
creal->im=c.im;
return creal;
}
再问: main������
再答: ��Ҫ��ʲô����˵main������ʲô����˵��Ҫ������������Ҳû˵����ô��?��������һ������ͬʱ������һ���ļ��� ȷ������Ҫ��ʲô��������������������硣
再问: main������д����������ֱ�������ֺ����������ļ��У�лл����дһ��
再答: 1.
....
int main()
{
complex a,b,c;
printf("Number one real part:");
scanf("%d",&a.real);
printf("Number one image part:");
scanf("%d",&a.im);
printf("Number two real part:");
scanf("%d",&b.real);
printf("Number two image part:");
scanf("%d",&b.im);
c=cadd(a,b);
printf("Add result:%d%+di\n",c.real,c.im);
c=cmult(a,b);
printf("Multip result:%d%+di\n",c.real,c.im);
}
2.
...
struct complex *cadd(struct complex *creal,struct complex *cim)
{
complex *c=(complex *)malloc(sizeof(complex));
c->real=creal->real+cim->real;
c->im=creal->im+cim->im;
return c;
}
struct complex *cmult(struct complex *creal,struct complex *cim)
{
complex *c=(complex *)malloc(sizeof(complex));
c->real=creal->real*cim->real-creal->im*cim->im;
c->im=creal->real*cim->im+creal->im*cim->real;
return c;
}
int main()
{
...
c=cadd(&a,&b);
printf("Add result:%d%+di\n",c->real,c->im);
free(c);
c=cmult(&a,&b);
printf("Multip result:%d%+di\n",c->real,c->im);
free(c);
}
struct complex cadd(struct complex creal,struct complex cim)
{
complex c;
c.real=creal.real+cim.real;
c.im=creal.im+cim.im;
return c;
}
struct complex cmult(struct complex creal,struct complex cim)
{
complex c;
c.real=creal.real*cim.real-creal.im*cim.im;
c.im=creal.real*cim.im+creal.im*cim.real;
return c;
}
2.
struct complex *cadd(struct complex *creal,struct complex *cim)
{
complex c;
c.real=creal->real+cim->real;
c.im=creal->im+cim->im;
creal->real=c.real;
creal->im=c.im;
return creal;
}
struct complex *cmult(struct complex *creal,struct complex *cim)
{
complex c;
c.real=creal->real*cim->real-creal->im*cim->im;
c.im=creal->real*cim->im+creal->im*cim->real;
creal->real=c.real;
creal->im=c.im;
return creal;
}
再问: main������
再答: ��Ҫ��ʲô����˵main������ʲô����˵��Ҫ������������Ҳû˵����ô��?��������һ������ͬʱ������һ���ļ��� ȷ������Ҫ��ʲô��������������������硣
再问: main������д����������ֱ�������ֺ����������ļ��У�лл����дһ��
再答: 1.
....
int main()
{
complex a,b,c;
printf("Number one real part:");
scanf("%d",&a.real);
printf("Number one image part:");
scanf("%d",&a.im);
printf("Number two real part:");
scanf("%d",&b.real);
printf("Number two image part:");
scanf("%d",&b.im);
c=cadd(a,b);
printf("Add result:%d%+di\n",c.real,c.im);
c=cmult(a,b);
printf("Multip result:%d%+di\n",c.real,c.im);
}
2.
...
struct complex *cadd(struct complex *creal,struct complex *cim)
{
complex *c=(complex *)malloc(sizeof(complex));
c->real=creal->real+cim->real;
c->im=creal->im+cim->im;
return c;
}
struct complex *cmult(struct complex *creal,struct complex *cim)
{
complex *c=(complex *)malloc(sizeof(complex));
c->real=creal->real*cim->real-creal->im*cim->im;
c->im=creal->real*cim->im+creal->im*cim->real;
return c;
}
int main()
{
...
c=cadd(&a,&b);
printf("Add result:%d%+di\n",c->real,c->im);
free(c);
c=cmult(&a,&b);
printf("Multip result:%d%+di\n",c->real,c->im);
free(c);
}