我想问你,因为当我运行我的程序时,我得到5和18的算术平均值是11,而不是11.5?我把我的程序放在C:
$(document).on('click','.player_choose', function () {
$('.modal').modal('hide');
});
由于
答案 0 :(得分:1)
这是因为你使用的是int而不是float或double。 C中的整数除法将通过舍入输出仅提供整数结果。请使用float而不是int或使用float注释解决方案。
float c;
c = (float)(a+b)/2
然而,这些是非常基本的C问题。请阅读C教程或C书籍以获得这些答案。
答案 1 :(得分:1)
修改您的代码,如下所示 -
#include <stdio.h>
int main(void) {
float a,b;
a = 5;
b = 18;
printf("La media aritmética de %.f i %.f es %f\n", a, b,(a+b)/2);
return 0;
}
目前,您正在获得11.因为当此操作(a+b)/2
发生时,它将结果保存为整数。这忽略了浮点值。
编辑:如果您只想打印2个浮点,请执行以下操作 -
printf(“Lamediaaritméticade%.f i%.f es %% 0.2f \ n”,a,b,(a + b)/ 2);
有关详细信息,请参阅此Floating point rounding
答案 2 :(得分:1)
将a和b的数据类型更改为float / double。
答案 3 :(得分:0)
#include
int main(void)
{
float a,b,c;
a = 5.0;
b = 18.0;
c=(a+b)/2;
printf("La media aritmética de %f i %f es %f\n", a, b,c );
return 0;
}
答案 4 :(得分:0)
代码中的问题是数据类型。除以任何数字时,有时会返回整数或十进制值。
例如,
让 10/2 = 5和10/4 = 2.5 相除。 因此,请注意分配数据类型。
对于您的问题,有多种解决方法,
1。更改特定答案存储变量的数据类型
2。更改所有涉及变量的过程的数据类型
3。更改格式说明符
4.Typecasting