论坛首页· 友情链接申请·申请版主· 广告投放· 道具中心· 设为首页· 收藏本站
发新话题
打印

高斯消去法.c

本帖已经被作者加入个人空间 本主题由 Webmaster 于 2008-8-30 00:51 移动

高斯消去法.c

#include<stdio.h>
#include<math.h>

main()
{float a[10][10],b[10],m[10][10],x[10],sum;
int i,j,k,n;
printf("the top exp:");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   scanf("%f",&a[j]);
    for(i=0;i<n;i++)
     scanf("%f",&b);
      for(k=0;k<n-1;k++)
      {if(a[k][k]==0)
       printf("error");
else for(i=k+1;i<n;i++)
      {m[k]=a[k]/a[k][k];
       a[k]=m[k];
       b=b-m[k]*b[k];
  for(j=k+1;j<n;j++)
   a[j]=a[j]-m[k]*a[k][j];
      }}
if(a[n-1][n-1]==0)
  printf("error");
else x[n-1]=b[n-1]/a[n-1][n-1];
b[n-1]=x[n-1];
for(i=n-2;i>=0;i--)
{sum=0;
  for(j=i+1;j<n;j++)
   {sum+=a[j]*x[j];}
    x=(b-sum)/a;
    b=x;
   }
for(i=0;i<n;i++)
printf("%f\n",x);
}

回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

发新话题