要编写一个好看的男女矩阵编程,可以遵循以下建议:
代码格式化:
确保代码具有良好的缩进和空格,使其易于阅读和理解。可以使用自动格式化工具(如`gofmt`或`clang-format`)来自动格式化代码。
命名规范:
使用有意义的变量名和函数名,避免使用单个字母或无意义的缩写。例如,使用`matrixA`和`matrixB`而不是`a`和`b`。
注释:
在关键部分添加注释,解释代码的功能和逻辑,帮助他人理解代码。
错误处理:
检查输入的有效性,并处理可能的错误情况,例如输入的矩阵大小不匹配。
使用函数:
将重复的代码块封装成函数,提高代码的可读性和可维护性。
```c
include
define M 3 // 定义矩阵的大小
// 函数声明
void readMatrix(int matrix[][M], int rows);
void printMatrix(int matrix[][M], int rows);
void addMatrices(int a[][M], int b[][M], int result[][M], int rows);
void multiplyMatrices(int a[][M], int b[][M], int result[][M], int rows);
int main() {
int matrixA[M][M], matrixB[M][M], result[M][M];
int i, j;
// 读取第一个矩阵
printf("输入第一个矩阵:\n");
readMatrix(matrixA, M);
// 读取第二个矩阵
printf("输入第二个矩阵:\n");
readMatrix(matrixB, M);
// 计算矩阵和
addMatrices(matrixA, matrixB, result, M);
printf("矩阵和为:\n");
printMatrix(result, M);
// 计算矩阵积
multiplyMatrices(matrixA, matrixB, result, M);
printf("矩阵积为:\n");
printMatrix(result, M);
return 0;
}
// 读取矩阵
void readMatrix(int matrix[][M], int rows) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < M; j++) {
scanf("%d", &matrix[i][j]);
}
}
}
// 打印矩阵
void printMatrix(int matrix[][M], int rows) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < M; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
// 矩阵加法
void addMatrices(int a[][M], int b[][M], int result[][M], int rows) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < M; j++) {
result[i][j] = a[i][j] + b[i][j];
}
}
}
// 矩阵乘法
void multiplyMatrices(int a[][M], int b[][M], int result[][M], int rows) {
int i, j, k;
for (i = 0; i < rows; i++) {
for (j = 0; j < M; j++) {
result[i][j] = 0;
for (k = 0; k < M; k++) {
result[i][j] += a[i][k] * b[k][j];
}
}
}
}
```
这个示例代码展示了如何实现矩阵加法和乘法,并且遵循了良好的编程实践,如使用函数、良好的命名规范和注释。你可以根据需要进一步扩展和优化这个示例。