一楼的有点问题:
忘记乘以10了。
应当是:
if (b>=5) a=(a/10+1)*10;//进一
else a=a/10*10;//直接省略
#include
#include
const int AddNum[10]={0,-1,-2,-3,-4,5,4,3,2,1}; /*定义这个数组就够了,也不用判断半天*/
int main()
{
int i;
int data[9]={0,2,5,7,10,14,15,18,20};
for (i=0;i<9;i++)
printf("%d %d\n",data[i],data[i]+AddNum[data[i]%10]); /*以个位数为索引号索引AddNum数组,当作偏移量,最终达到四舍五入的效果*/
getch();
return 0;
}
比较简单的办法就是
int val = 501;
int mod = val % 10; // mod = 1
if (mod > 5 )进制,否则舍去.
核心思想就用取余来分解10,100,1000...
#include
int main()
{
int a,b;
scanf("%d",&a);
b=a%10;//最后一位
if (b>=5) a=a/10+1;//进一
lese a=a/10;//直接省略
return 0;
}