该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include "math.h"
#include "stdio.h"
int max=100;
float delta=0.00001;
float a[5][5]={{628.15,606.79,575.24,564.304,600.99},{606.79,575.24,564.304,600.99,670.7},{575.24,564.304,600.99,670.7,717.65},
{564.304,600.99,670.7,717.65,831.76},{600.99,670.7,717.65,831.76,983.14}};
float b[5]={670.7,717.65,831.76,983.14,1040.162};
float t[5]={0.1,0.1,0.1,0.1,0.1};
float x[5];
float sum(int m)
{ int n;
float sum=0;
float x;
for (n=0;n<5;n++)
{
if(m==n)
{}
else{
sum=a[m][n]*t[n]+sum;
}
}
x=(b[m]-sum)/a[m][m];
return x;
}
float main()
{ int k;
int i;
float j;
int flag;
k=0;flag=0;
while((flag!=1)&&(k!=max))
{ k++;
for (i=0;i<5;i++)
{x[i]=sum(i);}
if(k<6)/*输出前5次结果*/
{
printf("k=%d\n",k);
printf("x1=%f,x2=%f,x3=%f,x4=%f,x5=%f",x[0],x[1],x[2],x[3],x[4]);
printf(";\n");
}
for (i=0;i<5;i++)
{ j=fabs(t[i]-x[i]);
if(j
else {flag=0;}
}
for(i=0;i<5;i++){t[i]=x[i];}
}
if(k==max)printf("Sorry,Calculation's Failed!");
else printf("Wonderful,Calculation's Successful!\n");
printf("The answer is : k=%d and x1=%f,x2=%f,x3=%f,x4=%f,x5=%f\n",
k,x[0],x[1],x[2],x[3],x[4]);/*输出最终结果和迭代次数*/
getch();
}
我的程序是这样的,可是还是这种情况,运行没有结果,能帮忙下吗。谢谢了