#include <stdio.h>
void sep_if(int val, char *sdec)
{
int ip, tp, hp;
int sgn = 0;
if (val < 0)
{
sgn = 1;
val = -val;
}
ip = val / 100;
tp = (val - ip * 100) / 10;
hp = val - ip * 100 - tp * 10;
if (sgn)
sprintf(sdec
, "-%d.%1d%1d", ip
, tp
, hp
); else
sprintf(sdec
, "%d.%1d%1d", ip
, tp
, hp
); }
int main(void)
{
int value;
char dval[12];
value = 13901;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
value = -101;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
value = 7;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
value = -8;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
value = 23;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
value = 555555;
sep_if(value, dval);
printf("%d => %s\n", value
, dval
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHNlcF9pZihpbnQgdmFsLCBjaGFyICpzZGVjKQp7CglpbnQgaXAsIHRwLCBocDsKCWludCBzZ24gPSAwOwoKCWlmICh2YWwgPCAwKQoJewoJCXNnbiA9IDE7CgkJdmFsID0gLXZhbDsKCX0KCglpcCA9IHZhbCAvIDEwMDsKCXRwID0gKHZhbCAtIGlwICogMTAwKSAvIDEwOwoJaHAgPSB2YWwgLSBpcCAqIDEwMCAtIHRwICogMTA7CgoJaWYgKHNnbikKCQlzcHJpbnRmKHNkZWMsICItJWQuJTFkJTFkIiwgaXAsIHRwLCBocCk7CgllbHNlCgkJc3ByaW50ZihzZGVjLCAiJWQuJTFkJTFkIiwgaXAsIHRwLCBocCk7Cn0KCmludCBtYWluKHZvaWQpCnsKCWludCB2YWx1ZTsKCWNoYXIgZHZhbFsxMl07CgoJdmFsdWUgPSAxMzkwMTsKCXNlcF9pZih2YWx1ZSwgZHZhbCk7CglwcmludGYoIiVkID0+ICVzXG4iLCB2YWx1ZSwgZHZhbCk7CgoJdmFsdWUgPSAtMTAxOwoJc2VwX2lmKHZhbHVlLCBkdmFsKTsKCXByaW50ZigiJWQgPT4gJXNcbiIsIHZhbHVlLCBkdmFsKTsKCgl2YWx1ZSA9IDc7CglzZXBfaWYodmFsdWUsIGR2YWwpOwoJcHJpbnRmKCIlZCA9PiAlc1xuIiwgdmFsdWUsIGR2YWwpOwoKCXZhbHVlID0gLTg7CglzZXBfaWYodmFsdWUsIGR2YWwpOwoJcHJpbnRmKCIlZCA9PiAlc1xuIiwgdmFsdWUsIGR2YWwpOwoKCXZhbHVlID0gMjM7CglzZXBfaWYodmFsdWUsIGR2YWwpOwoJcHJpbnRmKCIlZCA9PiAlc1xuIiwgdmFsdWUsIGR2YWwpOwoKCXZhbHVlID0gNTU1NTU1OwoJc2VwX2lmKHZhbHVlLCBkdmFsKTsKCXByaW50ZigiJWQgPT4gJXNcbiIsIHZhbHVlLCBkdmFsKTsKCglyZXR1cm4gMDsKfQo=