标签:wap names div == main name exit set define
#include <bits/stdc++.h>
#define N 104
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int n;
double g[N][N];
void Gauss()
{
int i,j,k,now;
for(i=1;i<=n;++i)
{
now=i;
for(j=i+1;j<=n;++j) if(fabs(g[j][i])>fabs(g[now][i])) now=j;
for(j=1;j<=n+1;++j) swap(g[now][j],g[i][j]);
if(g[i][i]==0)
{
printf("No Solution\n");
exit(0);
}
for(j=i+1;j<=n+1;++j) g[i][j]/=g[i][i];
g[i][i]=1;
for(j=i+1;j<=n;++j) // 枚举第 j 行
{
double div=g[j][i];
for(k=i+1;k<=n+1;++k)
g[j][k]-=div*g[i][k];
g[j][i]=0;
}
}
for(i=n;i>=1;--i)
{
for(j=i+1;j<=n;++j)
{
g[i][n+1]-=g[i][j]*g[j][n+1];
}
}
}
int main()
{
int i,j;
// setIO("input");
scanf("%d",&n);
for(i=1;i<=n;++i)
{
for(j=1;j<=n+1;++j) scanf("%lf",&g[i][j]);
}
Gauss();
for(i=1;i<=n;++i) printf("%.2f\n",g[i][n+1]);
return 0;
}
非常好理解~
Code:
标签:wap names div == main name exit set define
原文地址:https://www.cnblogs.com/guangheli/p/11517112.html