/*无回代过程的主元消去法*/
#include<stdio.h>
#include<math.h>
#define N 3 //方程阶数
float A[N][N+1]; //增广矩阵
float X[N]; //线性方程组的解
void findmain(int i) //寻找第i列的主元,并将其行交换到当前处理行
{
int j,k;
float c;
c=fabs(A[i][i]);
k=i; //初始化主元在第i行
for(j=i+1;j<N;j++) //寻找主元
if(fabs(A[j][i]>c))
{
c=fabs(A[j][i]);
k=j;
}
if(k!=i)
for(j=0;j<=N;j++)//将主元行交换到当前处理行
{
c=A[k][j];
A[k][j]=A[i][j];
A[i][j]=c;
}
}
void divmain(int i) //将主元所在行的各个系数除以主元,使主元为1
{
int j;
float c;
c=A[i][i];
A[i][i]=1.0;
for(j=i+1;j<=N;j++)
A[i][j]/=c;
}
void del(int i)
{
int j,k;
float c;
for(j=0;j<N;j++)
if(j!=i && A[j][i])
{
c=A[j][i];
A[j][i]=0;
for(k=i+1;k<=N;k++)
A[j][k]-=c*A[i][k];
}
}
int main()
{
int i,j;
printf("输入矩阵系数:\n");
fo
线性方程组算法(C语言)
最新推荐文章于 2024-08-14 17:36:04 发布
本文介绍了一种使用C语言实现的主元消去法,用于解决线性方程组的问题。该方法适用于行列式不为0的情况,确保线性方程组有唯一解。
摘要由CSDN通过智能技术生成