解决线性方程组的好方法
用C语言实现高斯-赛德尔迭代方法, 源程序代码:
#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"
#define N 100
float Table(int n,float a[N][N],float b[N])
{
int i,j;
float c[N][N];
printf("Please input the matrix A by row!\n");
label:for(i=0;i
{
printf("Row %d:",i+1);
for(j=0;j
scanf("%f",&a[i][j]); }
printf("Please input the vector b:");
for(i=0;i
scanf("%f",&b[i]); for(i=0;i
for(j=0;j
{
if(i==j)
{
c[i][j]=0;
continue;
}
c[i][j]=-a[i][j]/a[i][i]; }
printf("\nThe matrix A and vector b:\n");
for(i=0;i
{
for(j=0;j
printf("%10.5f",a[i][j]);
printf("%10.5f",b[i]);
printf("\n");
}
printf("\nThe Gauss-Seidel iterative scheme:\n");
for(i=0;i
{
for(j=0;j
printf("%10.5f",c[i][j]);