#include <stdio.h>
#include <math.h>

void putll(long long n)
{
	char r = n % 10;
	if (n >= 10) {
		putll(n / 10);		
	}
	putchar('0' + r);
}

void putdouble(double d)
{
	double x = d;
	long long l;
	int i;
	char n;

	if (x < 0) { // 負ならマイナス符号を出力してxの正負反転
		putchar('-'); 
		x *= -1;
	}
	l = floor(x); // xの整数部分
	putll(l);
	
	putchar('.');
	
	x -= l; // 小数部分を取り出す
	for (i=0; i<6; ++i) { // 小数部は6桁表示
		x *= 10;
		n = floor(x);
		putchar ('0' + n);
		x -= n;
	}
	putchar('\n');
}

int main(void) {

	putdouble(-123.000123);
	putdouble(123123);
	putdouble(1.0/7.0);

	return 0;
}

