#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
float t,a;
scanf("%f",&t);
if(t<100)
{
a=(int)(t*100+0.5)/100.0;
printf("%.2f\n",a);
}
else if(t>=100)
{
t=t*0.95-5;
a=(int)(t*100+0.5)/100.0;
printf("%.2f\n",a);
}
}
return 0;
}
在我刷oj题的时候,输入大于100的数据都没问题,但一直提交错误,后来我试了100以下数据,发现是四舍五入问题
例如:输入90.5时,四舍五入应该是91.0
但实际输出却为90.5
请教如何修改代码
目的是啥
一个比较妙的方法:
float f=.....;
int i=f+0.5;//四舍五入后的值