可能是浮点数的精度问题,尝试把推的式子继续化简。
例如,这个式子就会出现精度差:
printf("%.3lf",sqrt((((double)dfs(1,1,8,8,1)-n*(double)(s[8][8]/n)*((double)s[8][8]/n))/n)));
化简之后就好了:
printf("%.3lf",sqrt((dfs(1,1,8,8,1)-(double)s[8][8]*s[8][8]/n)/n));