题解 | #实现四舍五入#
实现四舍五入
https://www.nowcoder.com/practice/020a0cf673174d5795d97ae79cff59a0
#include <iostream> using namespace std; int main() { float a; scanf("%f",&a); int b =a; if(abs(b-a)>=0.5) { if(a>=0) b+=1; else b-=1; } printf("%d",b); return 0; }
思路:
1.明确C语言中float向int强制转换,只会保留整数,如16.8会变成16,-1.8会变成-1
2.理解“四舍五入”的含义,对于负数,-1.8需要变成-2。在数轴上可以更清晰地看到四舍五入的含义
3.舍去部分的绝对值超过0.5,对于正数,需要向右移动1格,对于负数,需要向左移动一格