C语言中的Dot Product函数

时间:2013-12-22 20:12:56

标签: c

我正在寻找以下函数的帮助。

看起来像: double dot_product(double v[],double u[],int n), 其中n是向量的长度

这是对的吗?

double dot_product(double v[], double u[], int n)
int i;
for (i = 0; i < n; i++)
{
result += v[i]*u[i];
}

4 个答案:

答案 0 :(得分:13)

您需要声明一个结果变量,将其初始化为零,累积到其中,然后将其返回。

double dot_product(double v[], double u[], int n)
{
    double result = 0.0;
    for (int i = 0; i < n; i++)
        result += v[i]*u[i];
    return result;
}

答案 1 :(得分:1)

如果result是全局变量,则将函数的返回类型更改为void,并在函数体周围放置一个大括号;

void dot_product(double v[], double u[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
         result += v[i]*u[i];
    }
}

答案 2 :(得分:0)

固定代码

double dot_product(double v[], double u[], int n){
    int i;
    double result = 0;
    for (i = 0; i < n; i++)
    {
    result += v[i]*u[i];
    }
    return result;
}

答案 3 :(得分:0)

HLO。试试这个

你犯了两个错误

  1. 错过{在第一行。
  2. 错过告诉返回类型。

    double dot_product(double v [],double u [],int n) {    int i;    double result = 0.0;    for(i = 0; i&lt; n; i ++)    {     结果+ = v [i] * u [i];    } 返回结果; }