为什么这个只运行一次?各位帮帮忙

#include<stdio.h>
#include<math.h>
int main()
{
double a=0,b=0,c=0,o,p,q,m,n,f,i=0;
do{

  i++;
  o=a ;
p=b; 
q=c;  
  a=(10+5*q)/9;
  b=(4*o+3*q-8)/10;
  c=(5*o+12*p)/20;      
  n=fabs(a-o);
  m=fabs(b-p);
  f=fabs(c-q);

img

}
while(n>=0.001 && m>=0.001 && f>=0.001);
printf("%f %f %f %f %f %f %f",a,b,c,m,n,f,i);
return 0;
}

img