信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1108:向量点积计算

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 6036 通过数: 4909

【题目描述】

在线性代数、计算几何中,向量点积是一种十分重要的运算。
给定两个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

【来源】

NO

代码

#include <stdio.h>
int main ()
{
	int n;
	scanf("%d",&n);
	int a[n],b[n];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<n;i++)
	{
		scanf("%d",&b[i]);
	}
	int sum=0;
	for(int i=0;i<n;i++)
	{
		sum+=a[i]*b[i];
	}
	printf("%d",sum);
	return 0;
}
原文地址:https://www.cnblogs.com/AlexKing007/p/12338761.html