列主元消去法c语言程序,用C语言编程实现列主元消去法.doc

用C语言编程实现列主元消去法,程序代码如下:

#include "stdlib.h"

#include "stdio.h"

#include "conio.h"

#include "string.h"

#include "math.h"

#define N 100

float Table(int n,float a[N][N],float b[N])

{

int i,j;

printf("Please input the matrix A by row!\n");

for(i=0;i

{

printf("Row %d:",i);

for(j=0;j

scanf("%f",&a[i][j]);

}

printf("Please input the array b:");

for(i=0;i

scanf("%f",&b[i]);

printf("\nThe matrix A and array b:\n");

for(i=0;i

{

for(j=0;j

printf("%10.4f",a[i][j]);

printf("%10.4f",b[i]);

printf("\n");

}

}

float find_max_abs(int n,int j,float a[N][N])

{

int i;

float max;

max=fabs(a[j][j]);

for(i=j+1;i

if(max

for(i=j;i

if(max==fabs(a[i][j])) return i;

}

float exchange(int n,int j,float a[N][N],float b[N])

{

int i,k;

float tmp;

i=find_max_abs(n,j,a);

if(i==j) return 1;

tmp=b[j];

b[j]=b[i];

b[i]=tmp;

for(k=0;k

{

tmp=a[j][k];

a[j][k]=a[i][k];

a[i][k]=tmp;

}

}

float elimination(int n,float a[N][N],float b[N])

{

int i,j,k,m;

float c[N];

for(j=0;j

{

exchange(n,j,a,b);

for(m=j+1;m

c[m]=-1*a[m][j]/a[j][j];

for(i=j;i

{

for(k=j;k

a[i+1][k]=a[i+1][k]+a[j][k]*c[i+1];

b[i+1]=b[i+1]+b[j]*c[i+1];

}

}

printf("\nThe matrix A and array b after elimination:\n");

for(i=0;i

{

for(j=0;j

printf(" %8.4f ",a[i][j]);

printf(" %8.4f ",b[i]);

printf("\n");

}

}

float back_substitution(int n,float a[N][N],float b[N])

{

int i,j;

float tmp,x[N];

x[n-1]=b[n-1]/a[n-1][n-1];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值