[PTA]实验5-1 使用函数计算两个复数之积

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验5-1 使用函数计算两个复数之积相关的知识,希望对你有一定的参考价值。

[PTA]实验5-1 使用函数计算两个复数之积

若两个复数分别为:c₁ = x₁ + y₁i 和 c₂ = x₂ + y₂i ,则它们的乘积为:c₁ x c₂ = (x₁x₂ - y₁y₂) + (x₁y₂ + x₂y₁)i。
本题要求实现一个函数计算两个复数之积。

函数接口定义:

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

其中用户传入的参数为两个复数x₁+y₁i和x₂ + y₂i ;函数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
  • 提交结果:

在这里插入图片描述

  • 源码:
#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;
}

/* 你的代码将被嵌在这里 */
void complex_prod(double x1, double y1, double x2, double y2)
{
    result_real = x1 * x2 - y1 * y2;
    result_imag = x1 * y2 + x2 * y1;
}

以上是关于[PTA]实验5-1 使用函数计算两个复数之积的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]习题9-2 计算两个复数之积

习题9-2 计算两个复数之积 (15 分)

计算两个复数之积

[PTA]实验5-4 使用函数计算两点间的距离

[PTA]实验5-11 使用函数求最大公约数

PTA指针实验