main()
{
/* 変数の宣言 */
int i;
/*(ベクトルの各成分は配列で宣言)*/
float u[6], v[6], naiseki, kyori1, kyori2;
double kyorix, kakudo, yugurido;
/* ベクトルの各成分 u[0] ~ u[5] の入力 */
for (i = 0; i < 6; i++)
{
printf("ベクトル u の第%d成分を入力してください: ", i);
scanf("%f", &u[i]);
}
/* ベクトルの各成分 v[0] ~ v[5] の入力 */
for (i = 0; i < 6; i++)
{
printf("ベクトル v の第%d成分を入力してください: ", i);
scanf("%f", &v[i]);
}
/*初期化 */
naiseki = 0.0;
kyorix = 0.0;
kakudo = 0.0;
yugurido = 0.0;
/* 内積の計算 */
for (i = 0; i < 6; i++)
{
naiseki + = u[i]*v[i];
kyori1 + = u[i]*u[i];
kyori2 + = v[i]*v[i]
}
/*ユーグリッド距離の計算*/
kyorix = sqrt(kyori1)*sqrt(kyori2);
kakudo = naiseki/kyorix;
yugurido = cos(kakudo);
printf("コサイン類似度=%f\n", yugurido);
}