(っ´▽`)っ
ついでに、C言語だとしたら、
double ang = acos(prd / (abs_a * abs_b));
はダメだよ。
ちゃんと、関数の最初にdouble angって宣言しないとね。