c语言怎么才能保留小数不进行四舍五入?

img

img

img

![img](

"=600 #left“)
真的搞不明白

可以试试现将原数字乘100,转为int之后在除以100.0,这样就可以达到向下舍入的目的.
有帮助望采纳~

#include <stdio.h>
int main()
{
float x;
double y;
scanf("%f",&x);
if(x<100)
      y=x*0.95;
else if(x>=100&&x<200)
      y=x*0.90;
else if(x>=200&&x<500)
      y=x*0.85;
else
      y=x*0.80;
y = (int)(y*100)/100.0;
printf("%.2lf",y);  
return 0;
}

#include <stdio.h>

int main()
{
float x;
double y;
scanf("%f",&x);
if(x<100)
printf("%.2lf",y=x0.95);
else if(x>=100&&x<200)
printf("%.2lf",y=x*0.90);
else if(x>=200&&x<500)
printf("%.2lf",y=x
0.85);
else
printf("%.2lf",y=x*0.80);
return 0;
}

你自己指定的保留2位小数啊
你想保留3位,那改成.3lf啊