第五题怎么用c++求夹角

img

使用acos计算即可

#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char const *argv[])
{
    double x, y, z;
    cin >> x >> y >> z;
   cout << acos(x / (sqrt(x * x + y * y + z * z))) * 180 / 3.1415926; //向量与x夹角
    cout << acos(y / (sqrt(x * x + y * y + z * z))) * 180 / 3.1415926; //向量与y夹角
    cout << acos(z / (sqrt(x * x + y * y + z * z))) * 180 / 3.1415926; //向量与z夹角
}

三维坐标下的一个点,坐标x,y,z,其实就相当于一个长方体,长宽高分别是x,y,z。到原点距离就是长方体斜对角线的长度。
斜边与各坐标轴的x,y,z形成的夹角,用arccos即可求出角度