C++多次调用函数问题

1.编写一个input函数,实现有n个元素的一维数组(向量)的数据输入。
void input(double a[], int n);
2.编写一个print函数,实现有n个元素的一维数组(向量)的数据输出。
void print(double a[], int n);
3.编写一个multiply函数,实现两个有n个元素的一维数组(向量)的相乘,返回值为相乘的结果。
double multiply(double a[], double b[], int n);
向量相乘的结果计算公式为:
4.编写main函数:
创建两个同样大小的一维数组(向量);
分2次调用input函数输入数组的元素。
分2次调用print函数输出数组的元素。
调用multiply函数计算这两个向量相乘的结果并输出。

#include <iostream>

void input(double a[], int n)
{
    for (int i = 0; i < n; i++)
        std::cin >> a[i];
}

void print(double a[], int n)
{
    std::cout << '(';
    for (int i = 0; i < n; i++)
    {
        std::cout << a[i];
        if (i < n - 1)
            std::cout << ", ";
    }
    std::cout << ")\n";
}

double multiply(double a[], double b[], int n)
{
    double r = 0;
    for (int i = 0; i < n; i++)
        r += a[i] * b[i];
    return r;
}

int main()
{
    const int n = 5;
    double a[n], b[n];
    std::cout << "请输入向量a(" << n << "个元素):\n";
    input(a, n);
    std::cout << "请输入向量b(" << n << "个元素):\n";
    input(b, n);
    std::cout << "a = ";
    print(a, n);
    std::cout << "b = ";
    print(b, n);
    std::cout << "a * b = " << multiply(a, b, n) << '\n';
    return 0;
}