【题目描述】
在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a⋅b=a1b1+a2b2+...+anbn。
【输入】
第一行是一个整数n(1≤n≤1000)。
第二行包含n个整数a1,a2,...,an。
第三行包含n个整数b1,b2,...,bn。
相邻整数之间用单个空格隔开。每个整数的绝对值都不超过1000。
【输出】
一个整数,即两个向量的点积结果。
【输入样例】
3
1 4 6
2 1 5【输出样例】
36
#include<iostream>
using namespace std;
int main()
{
int n;
int a[1001],b[1001];
int result=0;
int i;
cin>>n;//输入整数n
for(i=1; i<=n; i++) //输入向量ai
cin>>a[i];
for(i=1; i<=n; i++) //输入向量bi
cin>>b[i];
for(i=1; i<=n; i++) //计算向量点积
result+=a[i]*b[i];
cout<<result<<endl;
return 0;
}
信息学奥赛一本通T1108:一维数组 向量点积计算 归属于 一维数组,更多同类题解源程序见:一维数组 和 向量点积计算
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!