线性方程组算法(C语言)

本文介绍了一种使用C语言实现的主元消去法,用于解决线性方程组的问题。该方法适用于行列式不为0的情况,确保线性方程组有唯一解。
摘要由CSDN通过智能技术生成
/*无回代过程的主元消去法*/
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值