求大神看C语言程序里哪有问题,总有一个error,伤不起

2025-06-29 03:23:20
推荐回答(1个)
回答1:

#include//printf是 这个头文件的函数,也就是基本输入输出头文件
#include 
//#define N 100 这里跟int后面的那个N重复了,只能有一个
void main()//要么用void main,要么用int main,省略的意思是int main那就要用return来返回的
{
 int  k,N=100,i;
 double a[3][3]={{5,-6,-8},{3,-9,3},{2,5,-13}},b[3]={600,0,1000},x[3]={0,0,0},y[3],total=0.001,m1,m2,m3,t1,t2,t3;
 k=0;
 do
 {
  k++;
  for(i=0;i<3;i++)
  y[i]=x[i];
  m1=x[1]*a[0][1]+x[2]*a[0][2];
  x[0]=(b[0]-m1)/a[0][0];
  m2=x[0]*a[1][0]+x[2]*a[1][2];
  x[1]=(b[1]-m2)/a[1][1];
  m3=x[0]*a[2][0]+x[1]*a[2][1];
  x[2]=(b[2]-m3)/a[2][2];
  if(k>=N) 
   break;
  t1=(x[0]-y[0])/x[0];
        t2=(x[1]-y[1])/x[1];
  t3=(x[2]-y[2])/x[2];
 }
 while(t1>=total||t2>=total||t3>=total);
 if(k {
  printf("after %d th calculation ,the result is:\n", k);
  for(i=0;i<3;i++)
   printf("x[%d]=%f\n",i,x[i]);
 }
       printf("The function is not convergent\n");
}