C言語で複素数をどのように定義しますか?

C言語では、複素数を定義するために構造体を使用することができます。複素数は実数部と虚数部の合計として表現することができます。複素数の実数部と虚数部を表すために、2つの浮動小数点数変数を使用することができます。

以下是示例代码,定义了一个复数的结构体。

typedef struct {
    float real;     // 实数部分
    float imaginary;    // 虚数部分
} Complex;

上記の構造体を使用して複素数の変数を定義すると、加算、減算、乗算、除算など、さまざまな複素数の演算を行うことができます。

以下はいくつかのサンプルコードです。

#include <stdio.h>

// 定义复数结构体
typedef struct {
    float real;
    float imaginary;
} Complex;

// 复数加法
Complex add(Complex c1, Complex c2) {
    Complex result;
    result.real = c1.real + c2.real;
    result.imaginary = c1.imaginary + c2.imaginary;
    return result;
}

// 复数减法
Complex subtract(Complex c1, Complex c2) {
    Complex result;
    result.real = c1.real - c2.real;
    result.imaginary = c1.imaginary - c2.imaginary;
    return result;
}

int main() {
    Complex c1 = {3.0, 2.0};
    Complex c2 = {1.5, 4.5};

    Complex sum = add(c1, c2);       // 复数相加
    Complex difference = subtract(c1, c2);     // 复数相减

    printf("Sum: %.2f + %.2fi\n", sum.real, sum.imaginary);
    printf("Difference: %.2f + %.2fi\n", difference.real, difference.imaginary);

    return 0;
}

結果を出力:

Sum: 4.50 + 6.50i
Difference: 1.50 - 2.50i

上記のコードでは、複素数構造体Complexが定義され、複素数の加算と減算が実装されています。main関数では、複素数c1とc2が定義され、それぞれaddおよびsubtract関数を呼び出して複素数の加算と減算を行い、その結果を出力しています。

bannerAds