在C語言中,可以使用結(jié)構(gòu)體來定義復(fù)數(shù)。復(fù)數(shù)可以表示為實數(shù)部分和虛數(shù)部分的和??梢允褂脙蓚€浮點數(shù)變量來表示復(fù)數(shù)的實數(shù)部分和虛數(shù)部分。
下面是一個示例代碼,定義了一個復(fù)數(shù)的結(jié)構(gòu)體:
typedef struct {
float real; // 實數(shù)部分
float imaginary; // 虛數(shù)部分
} Complex;
使用上述結(jié)構(gòu)體定義了一個復(fù)數(shù)類型的變量后,可以進(jìn)行各種復(fù)數(shù)的運算,例如加法、減法、乘法、除法等。
以下是一些示例代碼:
#include <stdio.h>
// 定義復(fù)數(shù)結(jié)構(gòu)體
typedef struct {
float real;
float imaginary;
} Complex;
// 復(fù)數(shù)加法
Complex add(Complex c1, Complex c2) {
Complex result;
result.real = c1.real + c2.real;
result.imaginary = c1.imaginary + c2.imaginary;
return result;
}
// 復(fù)數(shù)減法
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); // 復(fù)數(shù)相加
Complex difference = subtract(c1, c2); // 復(fù)數(shù)相減
printf("Sum: %.2f + %.2fi\n", sum.real, sum.imaginary);
printf("Difference: %.2f + %.2fi\n", difference.real, difference.imaginary);
return 0;
}
輸出結(jié)果:
Sum: 4.50 + 6.50i
Difference: 1.50 - 2.50i
以上代碼中,定義了一個復(fù)數(shù)結(jié)構(gòu)體Complex
,并實現(xiàn)了復(fù)數(shù)的加法和減法操作。在main
函數(shù)中,定義了兩個復(fù)數(shù)c1
和c2
,然后分別調(diào)用add
和subtract
函數(shù)進(jìn)行復(fù)數(shù)的加法和減法運算,并將結(jié)果打印輸出。