if else用到税率计算中

#include
int main()
{
float i,t,a1,a2;
scanf("%f",&i);
if(i<=1000){
a1=0;
a2=i;
}
else
if(1000
t=0.05;
a1=(i-1000)*t;
a2=i-a1;
}
else
if(2000
t=0.1;
a1=(i-2000)*t+50;
a2=i-a1;
}
else
if(3000
t=0.15;
a1=(i-3000)*t+150;
a2=i-a1;
}
else
if(i>6000){
t=0.2;
a1=(i-6000)*t+600;
a2=i-a1;
}
printf("个人所得税=%.1f 实际报酬=%.2f",a1,a2);
return 0;
}

输入
5297
预期输出
个人所得税=494.5 实际报酬=4802.45
实际输出
个人所得税=494.6 实际报酬=4802.45
怎样才能让输出的值不四舍五入?

改成%f

printf("个人所得税=%.1f 实际报酬=%.2f",(int)(a1*10)/10.0,a2);

浮点数默认会四舍五入
你可以这样试试 1.0*((int)(f*10.0)) / 10.0