我正在寻找以下函数的帮助。
看起来像:
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];
}
答案 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。试试这个
你犯了两个错误
错过告诉返回类型。
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]; } 返回结果; }