#include "stdio.h"
#include "math.h"
#include "stdlib.h"
void max_ele(double af[][21],int n,int k) /* 选主元 */
{double max1,t;
int i,j;
max1=af[k][k]; i=k;
for (j=k+1;j<=n;j++)
if(fabs(af[j][k])>fabs(max1)) i=j;
if(i>k)
for (j=k;j<=n+1;j++)
{t=af[i][j],af[i][j]=af[k][j],af[k][j]=t;}
}
int gauss(double a[][20],double f[],double x[],int n)
/* Guass 消去法,引入af[20[21],x[]是为了不改变矩阵a[][],f[]
及简化程序 */
{int i,j,k;
double af[20][21],del,t;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++) af[i][j]=a[i][j];
af[i][n+1]=f[i];
}
for (k=1;k<n;k++)
{ max_ele(af,n,k);
del=af[k][k];
if (fabs(del)<1e-7)
{printf("Single! press any key return...\n");
getchar();
return 0;}
&此文共有5页 上一页 1 2 3 4 5 下一页 |