C语言表达高斯消元法的代码
时间: 2024-09-26 16:14:51 浏览: 34
C语言高斯消元法的使用详解
5星 · 资源好评率100%
在C语言中,我们可以使用数组和循环结构来实现高斯消元法,这是线性代数求解线性方程组的一种常见算法。下面是一个简单的示例,用于解一个基础的线性方程组:
```c
#include <stdio.h>
// 高斯消元函数
void gauss_elimination(int matrix[3][3], int n) {
for (int i = 0; i < n - 1; ++i) {
// 对每一行进行主元素消元
if (matrix[i][i] == 0) {
printf("错误:主元素不能为零\n");
return;
}
for (int j = i + 1; j < n; ++j) {
double factor = matrix[j][i] / matrix[i][i];
for (int k = i; k < n; ++k)
matrix[j][k] -= factor * matrix[i][k]; // 更新列元素
}
}
// 检查矩阵是否已经简化到阶梯形式
for (int i = n - 1; i >= 0; --i) {
printf("%d. %g x", i, matrix[i][n - 1]);
for (int j = 0; j < n - 1; ++j)
printf(" + %g x%d", matrix[i][j], j);
printf(" = %g\n", matrix[i][n - 1]); // 输出结果
}
}
int main() {
int system[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
gauss_elimination(system, 3);
return 0;
}
```
这个代码首先初始化了一个3x3的线性方程组,然后通过`gauss_elimination`函数执行消元过程,并输出结果。注意,这个版本只适用于3x3的方阵,实际应用中可能需要处理更大的矩阵。
阅读全文