⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gauss消元法----不选主元.txt

📁 我们的计算方法作业 线性方程组的Gauss消元法(不选主元法)算法实现
💻 TXT
字号:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#define max_n 200//阶数
#define precision 0.000001//精度
void matrix1(float a[][max_n],int m,int n)//输入矩阵函数
{
	int i,j;
	float t;
	printf("\n===Begin to input the matrix===\n");
	for(i=1;i<=m;++i)
	{
		printf("Input line %d:",i);
		for(j=1;j<=n;++j)
		{
			scanf("%f",@t);
			a[i][j]=t;
		}
	}
}
void matrix2(float a[][max_n],int n,int k)//输出矩阵函数
{
	int i;
	for(i=1;i<=n;++i)
		printf("\nx[%d]=%f",i,a[i][k]);
}
void triangle(float u[][max_n],int n)
{
	int i,j;
	float(i=n;i>0;--i)
	{
		if(fabs(u[i][j])<precision)
			return 1;
		for(j=i+1;j<=n;++j)
			u[i][n+1]-=u[i][j]*u[j][n+1];
		u[i][n+1]/=u[i][j];
	}
	return 0;
}
int Guass(float a[][max_n],int n)//Guass消元
{
	int i,j,k;
	for(i=1;i<n;++i)
	{
		if(fabs(a[i][j])<precision)
			return 1;
		for(j=i+1;j<=n;++j)
			for(k=i+1;k<=n+1;++k)
				a[j][k]-=a[i][k]*a[j][i]/a[i][i];
	}
	triangle(a,n);
	return 0;
}
void main()
{
	int n;
	float a[max_n][max_n];
	printf("\ninput n=");
	scanf("%d",&n);
	if(n>max_n-1)
	{
		printf("\n\007n must <%d!",max_n);
		exit(0);
	}
	matrix1(a,n,n+1);
	if(Guass(a,n))
		printf("\nGuass Failed!")
	else
	{
		printf("\nSolution:");
		matrix2(a,n,n+1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -