速率不起作用,总是输出0.000

时间:2016-01-24 08:09:13

标签: c floating-point

这是我的代码。

 float total,rate;        
 rate = score / 25;       
 printf("Total: %f", rate);

但这不起作用;它总是输出0.000。你能帮忙吗?

2 个答案:

答案 0 :(得分:5)

我在这里走出去,并说你的分数被宣布为int。 int除以int将始终导致int。您可以通过以下方式解决此问题:

  1. score声明为float
  2. 将其投标为(float)score
  3. 将其乘以浮动rate = score * 1.0f / 25
  4. 将25更改为25.0f

答案 1 :(得分:1)

试试这个:

rate = score / 25.0;       
printf("Total: %f", rate);

或者:

rate = (float) score / 25;       
printf("Total: %f", rate);

int除以int将始终为int,其中“小数点后”的所有内容都将被截断。