根据程序画的程序框图,有哪里不对吗
#include<stdio.h>#include<math.h>
int main()
{
double A[3][3]={{10,1,2},{2,10,1},{1,2,10}};
double b[5]={44,51,61};
double x[3]={0,0,0}; //第k+1次迭代的结果
double xx[3]={0,0,0}; //第k次迭代的结果
int size=3;
int Max=100; //最大迭代次数
double r=0.0; //
double sum=0.0;
double dis=0.0;
double dif=1.0; //相邻迭代的结果差
double p=0; //迭代精度
for(int k=1;(k<Max)&&(dif>p);k++)
{
dif=0.0;
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
if(j<i)
{
sum+=A[i][j]*x[j];//本次的x[j]
}
if(j>i)
{
sum+=A[i][j]*xx[j];//上一次的x[j]
}
}
x[i] = (b[i]-sum)/A[i][i];
sum=0.0;
}
r=0.0;//计算相邻迭代的结果差
for(int m=0;m<size;m++)
{
dis=fabs(x[m]-xx[m]);
if(dis>r)
r=dis;
}
dif=r;//打印第k次的结果
printf("/n",k);
for (int i=0;i<size;i++)
{
printf("%12.8f ",x[i]);
xx[i]=x[i];
}
printf("\n与上次计算结果的差:%12.8f \n",dif);
}
printf("\n迭代计算的结果为:\n");
for(int k=0;k<size;k++)
{
printf("%12.8f ",xx[k]);
}
printf("\n");
return 0;
}