在C语言中,可以使用二维数组来表示复合矩阵。复合矩阵由真实部分和虚部分组成,可以使用两个二维数组分别存储。
下面是一个简单的示例代码:
#include <stdio.h>
#define ROWS 3
#define COLS 3
typedef struct {
int real[ROWS][COLS];
int imaginary[ROWS][COLS];
} ComplexMatrix;
void printComplexMatrix(ComplexMatrix matrix) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d+%di ", matrix.real[i][j], matrix.imaginary[i][j]);
}
printf("\n");
}
}
int main() {
ComplexMatrix matrix = {
.real = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}},
.imaginary = {{10, 20, 30}, {40, 50, 60}, {70, 80, 90}}
};
printComplexMatrix(matrix);
return 0;
}
这个示例代码定义了一个复合矩阵的数据结构ComplexMatrix
,包含了真实部分real
和虚部分imaginary
两个二维数组。printComplexMatrix
函数用于打印复合矩阵的内容。
在main
函数中创建了一个复合矩阵matrix
,并初始化了真实部分和虚部分的值。然后调用printComplexMatrix
函数打印出复合矩阵的内容。
输出结果为:
1+10i 2+20i 3+30i
4+40i 5+50i 6+60i
7+70i 8+80i 9+90i
这样就可以使用二维数组来实现C语言中的复合矩阵。