📄 123.c
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#define PRECISION 0.000001
static int seed=10000+1.016*1000;
unsigned int max=32767;
unsigned int m=6,n=7;
static float a[6][7];
void setmatrixwith (int seed)
{
int i,j,k;
float x;
srand (seed);
for (i=0;i<1000;i++) k=rand();
for (i=0;i<m;i++)
for (j=0;j<n;j++)
{
k=rand();
x=(float) k;
a[i][j]=x*20/max-10;
}
return;
}
void printmatrix ()
{
int i,j;
printf ("\n");
for (i=0;i<m;i++)
{
printf ("\n");
for (j=0;j<n;j++)
printf ("=%10.4f",a[i][j]);
}
getch();
}
void MatrixOneColumnOutput(float a[6][7],int n,int k)
{
int i;
for(i=1;i<=n;++i)
printf("\nx[%d]=%f",i,a[i][k]);
}
int UpTriangle(float U[6][7],int n)
{
int i,j;
for(i=n;i>0;--i)
{
if(fabs(U[i][i])<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][i];
}
return 0;
}
void Swap(float *a,float *b)
{
float ftmp;
ftmp=*a;
*a=*b;
*b=ftmp;
}
int GassElimination_column_select(float a[6][7],int n)
{
int i,j,k;
float ftmp;
for(i=1;i<n;++i)
{
//---------------------------------------
for(k=i,j=i+1;j<=n;j++)
if(fabs(a[j][i])>fabs(a[k][i]))
k=j;
for(j=i;j<=n+1;++j)
Swap(&a[i][j],&a[k][j]);
//---------------------------------------
if(fabs(a[i][i])<PRECISION)
return 1;
for(j=i+1;j<=n;++j)
for(k=i+1;k<=n;++k)
a[j][k]-=a[i][k]*a[j][i]/a[i][i];
}
UpTriangle(a,n);
return 0;
}
void main()
{
setmatrixwith (seed);
printmatrix ();
if(GassElimination_column_select(a,m))
printf("\nGass Failed!");
else
{
printf("\nOutput Solution:");
MatrixOneColumnOutput(a,m,n);
}
printf("\n\n007Press any key to quit!\n");
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -