#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格,对于负数,需要向左移动一格