C++数组,平均值(初学者)

C++ Array, average value (Beginner)

本文关键字:初学者 平均值 数组 C++      更新时间:2023-10-16

我需要一些帮助来创建一个用户可以选择的 10 个数字的数组。昨天有一篇关于这个的帖子,但错过了向量的数组。.

需要计算数字的平均值,也需要伪代码。任何帮助都会很棒,我确实有一本教科书,但其中的数组示例将不起作用(正如您将在我将添加的代码中所做的那样)。

这是我到目前为止得到的:

#include <iostream>
#include <array>
using namespace std;

int main()
{
    int n[10];
    for (int i = 0; i < 10; i++)
    {
        cout << "Please enter number " << i + 1 << ": ";
        cin >> n[i];
    }

    float average(int v[], int n)
    {
        float sum = 0;
        for (int i = 0; i < n; i++)
        {
            sum += v[i]; //sum all the numbers in the vector v
        }
        return sum / n;
    }
system("pause");
}

计算我从上一篇文章中获得帮助的平均值的部分。但是其他一切都不起作用"/所以基本上我需要帮助来制作一个包含 10 个用户输入数字的数组。干杯

你唯一写正确的是函数平均值。我会在函数的参数中添加限定符 const

#include <iostream>
#include <cstdlib>
using namespace std;
float average( const int v[], int n )
{
    float sum = 0.0f;
    for ( int i = 0; i < n; i++ )
    {
        sum += v[i]; //sum all the numbers in the vector v
    }
    return sum / n;
}

或统计网

return sum / n;

可以代替

return ( n == 0 ? 0.0f : sum / n );

考虑到函数应在任何其他函数之外定义,并且在使用函数之前应出现函数声明。

您不需要标头<array>因为它未使用。但是您需要包含标头<cstdlib>,因为您使用函数system

由于它是在您的集合中编写的,因此您需要为数组输入任意值

int main()
{
    const int N = 10;
    int a[N];
    cout << "Enter " << N << " integer values: ";
    for ( int i = 0; i < N; i++ ) cin >> a[i];
    cout << "Average of the numbers is equal to " << average( a, N ) << endl;
    system( "pause" );
    return 0;
}

int n[10]; - n 是一个int数组,而不是字符串,那么你为什么要做n[0] = "Number 1: ";?相反,您应该循环并请求用户输入。

执行此操作后,您应该放置average函数,而不是main函数并从main调用它。

我建议您通过基本教程。

  1. 函数定义应始终在 main 外部。
  2. int n[10] 平均 n 是大小为 10 的整数数组。它们不是用于保存字符串的 char * 类型的指针数组
  3. 函数 average 没有调用方。子例程的工作方式类似于,调用方将调用被调用方传递参数以对它们执行操作并返回它们 - 通过引用传递。