用c语言程序输入一个3×3的矩阵,用主对角线上的各元素分别去除各元素所在行,输出新的矩阵。
时间: 2024-10-26 15:04:04 浏览: 26
在C语言中,你可以通过使用二维数组和嵌套循环来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
void removeDiagonalElements(int matrix[3][3], int n) {
for (int i = 0; i < n; i++) { // 遍历主对角线上的元素
int diagonalValue = matrix[i][i]; // 取得当前行和列的交点元素
if (diagonalValue != 0) { // 如果元素不为0
// 更新该行,除以主对角线元素
for (int j = 0; j < n; j++) {
matrix[i][j] /= diagonalValue;
}
}
}
}
// 打印矩阵
void printMatrix(int matrix[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 示例矩阵
removeDiagonalElements(matrix, 3); // 应用函数
printMatrix(matrix); // 输出新矩阵
return 0;
}
```
在这个程序中,`removeDiagonalElements` 函数遍历主对角线,如果元素不为0,它会更新对应行的其他元素,使其除以主对角线元素。然后`printMatrix` 函数用于打印处理后的矩阵。
阅读全文