#include <stdio.h>
#include <assert.h>
#include <math.h>
long double round_f(long double number, int decimal_places)
{
double power
= pow(10, decimal_places
-1); number *= power;
return (number >= 0) ? ((int)(number + 0.5))/power : ((int)(number - 0.5))/power;
}
int main(void)
{
printf("%Lf\n", round_f
(1.24, 2)); printf("%Lf\n", round_f
(1.25, 2));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmxvbmcgZG91YmxlIHJvdW5kX2YobG9uZyBkb3VibGUgbnVtYmVyLCBpbnQgZGVjaW1hbF9wbGFjZXMpCnsKCWFzc2VydChkZWNpbWFsX3BsYWNlcyA+IDApOwoJCglkb3VibGUgcG93ZXIgPSBwb3coMTAsIGRlY2ltYWxfcGxhY2VzLTEpOwoJbnVtYmVyICo9IHBvd2VyOwoJCglyZXR1cm4gKG51bWJlciA+PSAwKSA/ICgoaW50KShudW1iZXIgKyAwLjUpKS9wb3dlciA6ICgoaW50KShudW1iZXIgLSAwLjUpKS9wb3dlcjsKfQoKaW50IG1haW4odm9pZCkKewoJcHJpbnRmKCIlTGZcbiIsIHJvdW5kX2YoMS4yNCwgMikpOwoJcHJpbnRmKCIlTGZcbiIsIHJvdW5kX2YoMS4yNSwgMikpOwoKCXJldHVybiAwOwp9Cg==