C语言:实现浮点数转整型的四舍五入

C语言:实现浮点数转整型的四舍五入,第1张

输入 19.43 输出 19

输入 19.53 输出 20

思路 : 输入一个小数 a, 再定义一个 int 类型 等于a小数点前的整数部分(d)

用 整数加一,和小数加0.5进行比较,若整数+1 大于 小数 +0.5 则说明要四舍,反之五入

比如 输入a 19.43      a+0.5= 19.93            a 19.53                a+0.5=20.03

                d 19            d  +1 =20                  d 19                    d+1   = 20

                四舍,输出19(d)                     五入,输出(d+1)

当是负数时    输入a   -19.43       -19.43-0.5= -19.93                -19.99        -19.99-0.5= -20.49

                             d   -19             -19-1        = -20                     -19             -19-1        =-20          

                    d-1a-0.5 五入,输出-20(d-1)

int main()
{
	float a = 0;
	scanf("%f", &a);
	int d = a;
	if (a >= 0)
	{
		if (d + 1 >= a + 0.5)
			printf("%d\n", d);
		else
			printf("%d\n", d + 1);
	}
	else
	{
		if (d - 1 >= a - 0.5)
			printf("%d\n", d - 1);
		else
			printf("%d\n", d);

	}
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/798872.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存