所以我是C ++的新手,我正在编写一个程序来计算程序的平均值,中位数,标准差,最小值和最大值。我遇到的问题是我不知道如何从项目中的其他文件中正确调用函数,当我尝试打印(c out<<<<>)我的数组时,它返回一个奇怪的值如0 x 0017 c 530(忽略空格)。如果有人能帮我正确地返回这些功能,并正确打印列表,我将非常感激!这是我的代码(不包括.h文件):
#include <iostream>
using namespace std;
#include "stats.h"
int main()
{
double nums[10000] = {};
int n;
cout << "Enter number of values: ";
cin >> n;
for (int i = 1; i <=n; i++) {
cout << "Enter number " << i << ": ";
cin >> nums[i-1];
}
// me trying to print the nu ms list
cout << nums << endl;
// me trying to call the function
double mean(double nums[], int n);
return 0;
}
统计信息。 CPP
#include "stats.h"
double mean(double nums[], int n)
{
double sum = 0;
double average;
for (int i = 0; i > n; i++) {
sum += nums[i];
}
average = sum / n;
return average;
}
答案 0 :(得分:0)
而不是
cout << nums << endl;
就像你有一个循环在数组中一次输入一个值一样,你还需要一个类似的循环来从数组中一次打印一个值。
要从另一个翻译单元调用一个函数,通常会在头文件中声明该函数,stats.h
将是一个很好的候选者:
double mean(double nums[], int n);
然后只需从你的主要调用它:
std::cout << mean(nums, n) << std::endl;
就是这样。
此外:
using namespace std;
你需要有人帮你解决健忘症问题,completely forget that C++ has anything like this。这是糟糕的编程习惯。
答案 1 :(得分:0)
double mean(double nums[], int n);
是函数声明,不是函数调用。你应该
double mean_value = mean(nums, n);
cout << mean_value << endl;
并且cout << nums << endl;
不会打印出数组的元素,只是打印数组的地址。您需要循环数组以打印出所有元素。