题目
牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下
12345->12350
12399->12400
思路
四舍五入即小于等于4的数舍去为零,大于等于5的数进位变成零。
方法一:
通过分析题目,若数字a个位数<=4,则舍去个位数字,个位变为0;
如何将数字a的个位数字舍去变为0:只需用a-a%10即可。
若数字a个位数>=5,则个位向上进一位,个位变为0;
如何将数字a的个位变为0,向上进一位:只需将a+(10-a%10)即可。
代码实现1
#include <stdio.h>
int main(){
int a,b;
scanf("%d",&a);
if(a%10>=5){
b=a+(10-a%10);//实现个位进一,个位变为0的操作
}
else{
b=a-a%10;//实现了个位变为0的操作
}
printf("%d\n",b);
return 0;
}
方法二:
这个是我看别人写出来的,觉得思路很新颖
他这个也是分了两种情况:
若数字a个位数>=5,则输出两个数a/10+1,0
若数字a个位数<=4,则输出两个数a/10,0
这个方法也可以达到对数字个位数四舍五入的效果,我觉得很不错
代码实现2
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a%10>=5){
printf("%d%d",a/10+1,0);
}
else{
printf("%d%d",a/10,0);
}
return 0;
}
这是我对这道题的总结,希望对大家有所帮助!