有一个不是办法的办法,小于1,精度是6以内都可以求出最大精度个位是多少,
程序代码:
main()
{
double j,n=0.1,x,y;
int i,m;
scanf("%lf",&x);
for(i=1,j=0.1;i<=54;i++,j+=n)
{
if(x-j<n&x-j>=0)break;
if(i%9==0)j=0,n*=0.1;
}
i=i%9==0?9:i%9;
printf("%g %g %d\n",x,n*i,i);
getch();
}
如输入:0.000354
显示:0.000354 0.000300 3