请用大白话讲解一下以下代码的意思,这是个dowhile求算数平方根,但我看不懂,求解释?
#include <stdio.h> double DoSqrt(double z){ ꀀꀀꀀꀀdouble a=1; ꀀꀀꀀꀀdouble b=0; ꀀꀀꀀꀀdouble c=0; ꀀꀀꀀꀀdo{ ꀀꀀꀀꀀꀀꀀꀀꀀif(b*b<z){ ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀb+=a; ꀀꀀꀀꀀꀀꀀꀀꀀ} ꀀꀀꀀꀀꀀꀀꀀꀀelse{ ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀc=b; ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀb-=a; ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀa/=10; ꀀꀀꀀꀀꀀꀀꀀꀀ} ꀀꀀꀀꀀ}while(a>0.000001); ꀀꀀꀀꀀreturn (b+c)/2; } int main(){ ꀀꀀꀀꀀdouble x, y; ꀀꀀꀀꀀprintf("请输入一个数字:"); ꀀꀀꀀꀀscanf("%lf", &x); ꀀꀀꀀꀀif(x<0){ ꀀꀀꀀꀀꀀꀀꀀꀀprintf("输入错误。"); ꀀꀀꀀꀀ} else { ꀀꀀꀀꀀꀀꀀꀀꀀy=DoSqrt(x); ꀀꀀꀀꀀꀀꀀꀀꀀprintf("%g 的平方根为: %g.尀n", x, y); ꀀꀀꀀꀀ} ꀀꀀꀀꀀint z=1; ꀀꀀꀀꀀdo{ ꀀꀀꀀꀀꀀꀀꀀꀀmain(); ꀀꀀꀀꀀꀀꀀꀀꀀz++; ꀀꀀꀀꀀ}while(z>10); ꀀꀀꀀꀀreturn 0; }