/*-------------------------------------------------*/
/* Round up a number */
/* (Negative numbers go DOWN) */
/* 34 -> 40 */
/* -34 -> -40 */
/*-------------------------------------------------*/
int round_up_10(int num)
{
int sign = 1;
int tens = 1;
if (num < 0)
{
num = (-1) * num;
sign = -1;
}
num = (num + 9) / 10;
num = num * 10;
return sign * num;
}
/*-------------------------------------------------*/
/* Round down a number */
/* (Negative numbers go UP) */
/* 34 -> 30 */
/* -34 -> -30 */
/*-------------------------------------------------*/
int round_down_10(int num)
{
int sign = 1;
int tens = 1;
if (num < 0)
{
num = (-1) * num;
sign = -1;
}
num = num / 10;
num = num * 10;
return sign * num;
}
main()
{
printf("round_down_10(25450)= %d\n", round_down_10(25450));
printf("round_down_10(-25450)= %d\n", round_down_10(-25450));
printf("round_up_10(25450)= %d\n", round_up_10(25450));
printf("round_up_10(-25450)= %d\n", round_up_10(-25450));
printf("round_down_10(1347)= %d\n", round_down_10(1347));
printf("round_down_10(-1347)= %d\n", round_down_10(-1347));
printf("round_up_10(1347)= %d\n", round_up_10(1347));
printf("round_up_10(-1347)= %d\n", round_up_10(-1347));
printf("round_down_10(34)= %d\n", round_down_10(34));
printf("round_down_10(-34)= %d\n", round_down_10(-34));
printf("round_up_10(34)= %d\n", round_up_10(34));
printf("round_up_10(-34)= %d\n", round_up_10(-34));
}
/*
The outout:
round_down_10(25450)= 25450
round_down_10(-25450)= -25450
round_up_10(25450)= 25450
round_up_10(-25450)= -25450
round_down_10(1347)= 1340
round_down_10(-1347)= -1340
round_up_10(1347)= 1350
round_up_10(-1347)= -1350
round_down_10(34)= 30
round_down_10(-34)= -30
round_up_10(34)= 40
round_up_10(-34)= -40
*/