1012:计算多项式的值,程序没错答案有误差?

求助为什么答案不对呢
1012:计算多项式的zhi
#include
main()
{
float x, a, b, c, d;
float y;
scanf("%f %f %f %f %f", &x, &a, &b, &c, &d);
y = a * x * x * x + b * x * x + c * x + d;
printf("%.7lf\n", y);
return 0;
}
我的答案是33.0838661
正确答案是33.0838692

float型数值精确到7位大致就是说相对精度达到10^{-7}
你的例子里可以认为33.08386**,后面的几位都很不精确