#include
int main()
{
double a;
scanf("%lf",&a);
while(a-int(a)>1e-6)
a=a*10;
printf("%lf",a);
}
代码 但是有的数字如12.456时候可以 有的数字如123.456不行,应该是数据丢失了 但是怎么该?
你可以把输入换成字符串,然后遍历字符串,把‘.’删掉,然后输出
输出每一步骤a,可以看到是如下结果。
确实有问题
int main()
{
double a;
long b;
int c=10;
scanf("%lf",&a);
b=a*1000000;
while(b%c==0){
b=b/10;
}
printf("%d",b);
}
当这个代码也有约束,要求整数位不要太大。