?? agjdn.c
字號:
#define N 3
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void agjdn(double a[][N])
{int i,j,k,is;
int js[N];
double d,temp;
for(k=0;k<N;k++)
{d=0.0;
for(i=k;i<N;i++)/*取絕對值最大的主元*/
for(j=k;j<N;j++)
if(fabs(a[i][j]>d)) {d=fabs(a[i][j]); js[k]=j; is=i;}
if(d==0.0) break;
if(js[k]!=k)/*列交換*/
for(i=0;i<N;i++)
{ temp=a[i][k]; a[i][k]=a[i][js[k]]; a[i][js[k]]=temp; }
if(is!=k)/*行交換*/
for(j=0;j<N;j++)
{ temp=a[k][j]; a[k][j]=a[is][j]; a[is][j]=temp; }
for(i=k+1;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=a[i][j]-a[k][j]*(a[i][k]/a[k][k]);
} /*for*/
}
void main()
{int i,j;
double a[N][N]={{-5,3,-2},{-7,4,-3},{1,-1,0}};
agjdn(a);
printf("最終結果:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%13.2e",a[i][j]);
printf("\n");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -