计算小数位数~求教
一个输出小数点后的数字个数,如:0.1,数位就是1;1.22的数位就是2这样!(如下),但是输出时,只有整数和小数的整数部分为0,小数部分只有1个数字的数字个数.(如:1;2;3;0.1;0.2),其他的都不能输出正确结果!请大家看看哪里出错了? #include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float i,j=0;
printf("Please enter a number to count the sites of the number !\nThe number is:");
scanf("%f",&i);
loop:
if(i<1 && i!=0)
{
for(j=0;i<1;j++)
{
if(i!=0)
{
i=i/0.1;
i=i-(int)i;
}
else break;
}
}
else if(i>1 && i!=0)
{
i=i-(int)i;
goto loop;
}
printf("The result is %f\n",j);
system("PAUSE");
return 0;
}