G-S迭代法:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define eps 1e-6 //定义偏差值
#define N 100 //定义最大迭代次数
#define MAX 10 //系数最大矩阵阶数
double a[MAX][MAX];
double b[MAX];
double x[MAX];//第k+1次迭代的结果
double xx[MAX];//第k次迭代的结果
int n;//阶数
int main(void)
{
int i,j,k;
double residual = 0.0;
double sum = 0.0;
double dis = 0.0;
double dif = 1.0;//相邻迭代的结果差
double p;
double *a ;
printf("请输入系数矩阵a的阶数:");
scanf("%d",&n);
memset(x,0,sizeof(double)*n);
memset(xx,0,sizeof(double)*n);
a = (double*)malloc(sizeof(double)*n*n);
//获取a的元素
for(i = 0;i < n;i++)
{
/*array[i-1] = (double*)malloc(sizeof(double)*n);*/
/*h = i;*/
for(j = 0;j < n;j++)
{
printf("请输入系数矩阵a第%d行第%d列数据:\n",i+1,j+1);
scanf("%lf",&a[i*n + j]);
}
}
//获取b的元素
for(i =