我有以下函数,应该平均返回 l1 - l7 。但是,它似乎只返回一个整数。为什么这样做,如何使它返回四舍五入到小数点后两位的浮点数?
片段:
int lab_avg(int l1,int l2,int l3,int l4,int l5,int l6,int l7) {
float ttl;
ttl = l1 + l2 +l3 +l4 +l5 +l6 +l7;
return ttl / 7.0;
}
最佳答案
因为您函数的返回类型是int
。将其更改为float
,它将正常工作。
另外,如果只想打印两位小数,则在输出函数中使用适当的格式。您不需要对浮点数本身做任何事情:
printf("%.2f", some_value);