编辑:显然这段代码不错,但是由于某些原因在Atom的内置c ++编译器上不起作用。
所以我试图用C ++创建一个程序,该程序接受一个数组,然后返回该数组中所有数字的平均值。从那以后,我了解到任何传递给函数的数组都会“衰减”到指针中,并指向向量的方向。但是,我仍然停留在此代码上,该代码似乎无法输出任何内容。我试过通过在for循环中打印它来进行调试,但它仍然不打印任何内容。这是否意味着根本找不到向量大小,而只是在开始之前就结束了?它不会引发任何错误,所以我不确定。如何获得此值以输出此向量的平均值?预先谢谢你!
#include <iostream>
#include <vector>
using namespace std;
vector<int> arr = {1, 2, 3, 4, 5, 6};
void avg(vector<int> array){
double total = 0;
for (int i = 0; i < array.size(); i++){
total += array[i];
}
double average = total/array.size();
cout << average;
}
main(){
avg(arr);
}
答案 0 :(得分:0)
您的输出流可能已缓冲。尝试像这样在末尾添加换行符:
cout << average << endl;
答案 1 :(得分:0)
Below code is working for me, I guess you forgot to pause the result screen
#include <iostream>
#include <vector>
using namespace std;
vector<int> arr = {1, 2, 3, 4, 5, 6};
void avg(vector<int> array) {
double total = 0;
for (int i = 0; i < array.size(); i++) {
total += array[i];
}
double average = total / array.size();
cout << average;
}
int main() {
avg(arr);
system("pause");
return 0;
}