【题目链接】
一本通 4106 四舍五入
洛谷 B4258 四舍五入
【题目考点】
1. 基础数论(四舍五入); 2. 循环结构、数位拆分;
【解题逻辑】
1. 使用循环语句循环指定的n次; 2. 在循环体中进行输入1个整数,循环实现输入n个整数; 3. 对每个整数,提取个位上的数字(数位分离:通过取余10实现); 4. 整数先舍去个位上的数字(四舍),数位拆分提取a的个位数字:通过a%10得到个位数字x;
- 四舍操作:将a减去个位数字x,得到最接近的 10 的整数倍(舍去个位);
- 五入判定:若个位数字x ≥ 5,则将当前a加 10(实现五入);
【题解代码】
1. 输入第一行:一个整数n,代表接下来要输入n个整数;
int n;
cin>>n;
2. 循环n次,在循环体中实现输入一个整数;
while(n–){
int a;
cin>>a;
// 取得该整数的个位上的数字
int x=a%10;
// 去除个位上的数字(四舍),得到10的整数倍
a-=x;
// 如果个位上的数字达到进位要求(五入)
if(x>=5){
// 整数+10
a+=10;
}
// 输出四舍五入后的结果
cout<<a<<endl;
}



