C语言:实验5-1 使用函数计算两个复数之积.2021-07-23

实验5-1 使用函数计算两个复数之积 (10 point(s))

若两个复数分别为:c​1​​=x​1​​+y​1​​i和c​2​​=x​2​​+y​2​​i,则它们的乘积为 c​1​​×c​2​​=(x​1​​x​2​​−y​1​​y​2​​)+(x​1​​y​2​​+x​2​​y​1​​)i。

本题要求实现一个函数计算两个复数之积。

函数接口定义:

double result_real, result_imag;
void complex_prod( double x1, double y1, double x2, double y2 );

其中用户传入的参数为两个复数x1+y1i和x2+y2i;函数complex_prod应将计算结果的实部存放在全局变量result_real中、虚部存放在全局变量result_imag中。

裁判测试程序样例:

#include<stdio.h> 

double result_real, result_imag;
void complex_prod( double x1, double y1, double x2, double y2 );

int main(void) 
{ 
    double imag1, imag2, real1, real2;    

    scanf("%lf %lf", &real1, &imag1);             
    scanf("%lf %lf", &real2, &imag2);             
    complex_prod(real1, imag1, real2, imag2);     
    printf("product of complex is (%f)+(%f)i\n", result_real, result_imag);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

1 2
-2 -3

输出样例:

product of complex is (4.000000)+(-7.000000)i

参考答案: 

//我们把形如 z=a+bi(a、b均为实数)的数称为复数。
//其中,a 称为实部,b 称为虚部,i 称为虚数单位

void complex_prod( double x1, double y1, double x2, double y2 )
{
    //c1×c2=(x1x2−y1y2)+(x1y2+x2y1)i
    //计算结果的实部存放在全局变量result_real中、
    //虚部存放在全局变量result_imag
    result_real=x1*x2-y1*y2;
    result_imag=x1*y2+x2*y1;
}

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mklpo147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值