C语言 雅克比迭代法
#include"stdio.h"
#include"math.h"
#define N 3
#define M 27
void main()
{
int i,j,k=1;
float a[N][N],b[N],sum,x[N];
printf("请按行输入原增广矩阵:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
scanf("%f",&a[i][j]);
}
scanf("%f",&b[i]);
}
printf("你输入的增广矩阵为:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%f ",a[i][j]);
}
printf("%f \n",b[i]);
}
for(i=0;i<N;i++)
{
x[i]=0;
}
while(k<=M)
{
printf("第%d次迭代的结果为:\n",k++);
for(i=0;i<N;i++)
{
sum=0;
for(j=0;j<N;j++)
{
sum=sum+a[i][j]*x[j];
}
x[i]=x[i]+(b[i]-sum)/a[i][i];
printf("x(%d)=%f\n",i+1,x[i]);
}
printf("\n");
}
}

