如何将绝对值精度控制在小数点三位

#include
#include

int main(void)
{
float a, b;
while (scanf_s("%f %f", &a,&b) ==2)
{
if (fabs(a) > fabs(b))
printf("BIGGER\n");
else if (fabs(a) == fabs(b))
printf("EQUAL\n");
else
printf("SMALLER\n");
}
return 0;

}

想问一下如何将精度控制在小数点三位,以及这个程序有什么问题吗

#include <stdio.h>
#include <math.h>

int main(void)
{
    float a, b, eps = 0.001;
    while (scanf("%f%f", &a, &b) == 2)
    {
        float fa = fabs(a);
        float fb = fabs(b);
        if (fabs(fa - fb) < eps)
            printf("EQUAL\n");
        else if (fa > fb)
            printf("BIGGER\n");
        else
            printf("SMALLER\n");
    }
    return 0;
}

输出的时候带上小数点就行
printf("%.3f”,a);