问题描述
已知两个复数a和b
a = a.rmz + ja.imz
b = b.rmz + jb.imz
求这两个复数的乘积c
c = c.rmz + jc.imz
函数名:c_comp_product.c
建模思想
(1)计算变量.
p = a.rmz * b.rmz
q = a.imz * b.imz
s = (a.rmz + a.imz)(b.rmz + b.imz)
(2)计算c.rmz = p - q , c.imz = s - p - q
(3)最终计算结果为 c = c.rmz + jc.imz
代码
//函数名:c_comp_product.c
//功能描述:求复数的乘法
//输入参数: a1(第一个乘数a的结构体)
// a2(第二个乘数b的结构体)
// c(计算结果的结构体)
//返回值: 0(失败) , 1(成功)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
struct c_comp
{
double rmz;
double imz;
}c_comp;
int c_comp_product(a1,a2,c)
struct c_comp *a1,*a2,*c;
{
double p,q,s;
if(a1 == NULL || a2 == NULL || c == NULL)
{
printf("(c_comp_product)The c_comp pointer is NULL!\n");
return (0);
}
p = a1 -> rmz * a2 -> rmz;
q = a1 -> imz * a2 -> imz;
s = (a1 -> rmz + a1 -> imz) * (a2 -> rmz + a2 -> imz);
c -> rmz = p - q;
c -> imz = s - p - q;
return(1);
}
计算机201txl