C语言 解线性方程

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:29:42
最好用全主元消去法,如果不行其他方法也行.唯数固定为8,对一些不变的a1,a2...要从一个文本文件中写入,其他变化的量从键盘读入(因为是配方问题,有些物质的含量是固定不变的),最后运行的结果保存在此文件中。另外要考虑无解的情况。
若能完全符合,再加100分,谢谢!
发之前请您先运行一下!
咋就没人回答类??

我有列主元消的;
#include<stdio.h>
#include<math.h>
void main()
{
float a[4][4]={{1.003,0.333,1.504,-0.333},{-2.011,1.455,0.506,2.956},{4.329,-1.952,0.006,2.087},{5.113,-4.004,3.332,-1.112}};
float b[4]={3.005,5.407,0.136,3.772};
float c,d;
int i,j,k,s,p,l;
for(j=0;j<4;j++ )
{
for(i=j;i<4;i++)
{
k=i;
for(s=i+1;s<4;s++)
{
if(fabs(a[s][j])>fabs(a[k][j]))
k=s;
}
for(p=0;p<4;p++)
{
c=a[i][p];
a[i][p]=a[k][p];
a[k][p]=c;
}
c=b[i];
b[i]=b[k];
b[k]=c;
}
}

for(s=0;s<4;s++)
{
for(p=0;p<4;p++)
printf("%f ",a[s][p]);
printf("%f\n",b[s]);
}
for(j=0;j<4;j++)
{
for(l=j+1;l<4;l++)
{
d=a[l][j]/a[j][j];
b[l]