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関数を呼び出して複素数の加算と減算を行い、その結果を出力しています。