#include<stdio.h>
void compute(double x)
{
int n=0;
while (x > 0 && x < 1)
{
x *= 10;
n--;
}
while (x > 10)
{
x /= 10;
n++;
}
if ((x - (int)x) < 0.0000001) printf("%de%d\n", (int)x, n);
else printf("%.5lfe%d\n", x, n);
}
int main() {
double x;
int n;
while (scanf("%lf", &x) != EOF)
{
compute(x);
}
return 0;
}
主要就在于0.000002这样的例子,输出的时候用2,而不是2.00000