【发布时间】:2020-09-17 07:01:58
【问题描述】:
这是我的代码。输入是
5
10 40 30 50 20
1 2 3 4 5
我试图找到一个大小为 n 的数组的加权平均值,向量 a 将 n 个元素及其对应的权重保存在向量 b 中。我无法理解为什么打印出 32 而不是 32.0?谁能告诉我为什么以及如何改变它?
int main() {
int n;
cin>>n;
vector<int> a(n),b(n);
for(int i=0;i<n;i++){
cin>> a[i] ;
}
for(int i=0;i<n;i++){
cin>> b[i] ;
}
double s=0,w=0;
for(int i=0;i<n;i++){
s+=b[i]*a[i];
w+=b[i];
}
cout<<s/w*1.0;
return 0;
}
【问题讨论】:
标签: c++ syntax statistics type-conversion weighted-average