编辑代码

#include <stdio.h>
#include <math.h>

int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
    printf("Hello world!     - c.jsrun.net.");
    
    double PI = acos(-1.0);

    double lon1 = 117.30899810791, lon2 = 117.30899810791, lon3 = 117.30899810791;
    double lat1 = 34.2905158996582, lat2 = 34.6905158996582, lat3 = 34.9905158996582;
    //double lon1 = 108280330, lon2 = 108280331, lon3 = 108280332;
    //double lat1 = 22882828, lat2 = 22882826, lat3 = 22882829;
    
    double angel = 0;

    double x1 = cos(lat1 / 180 * PI) * cos(lon1/ 180 * PI);
    double y1 = cos(lat1 / 180 * PI) * sin(lon1 / 180 * PI);
    double z1 = sin(lat1 / 180 * PI);
    double x2 = cos(lat2 / 180 * PI) * cos(lon2/ 180 * PI);
    double y2 = cos(lat2 / 180 * PI) * sin(lon2 / 180 * PI);
    double z2 = sin(lat2 / 180 * PI);
    double x3 = cos(lat3 / 180 * PI) * cos(lon3/ 180 * PI);
    double y3 = cos(lat3 / 180 * PI) * sin(lon3 / 180 * PI);
    double z3 = sin(lat3 / 180 * PI) ; 

    double V1[3]={0,0,0};
    double V2[3]={0,0,0};

    V1[0] = x2-x1;
    V1[1] = y2-y1;
    V1[2] = z2-z1;
    V2[0] = x3-x2;
    V2[1] = y3-y2;
    V2[2] = z3-z2;
    angel = acos( (V1[0]*V2[0] + V1[1]*V2[1] + V1[2]*V2[2]) / 
                ( (sqrt(V1[0]*V1[0] + V1[1]*V1[1] + V1[2]*V1[2])) * (sqrt(V2[0]*V2[0] + V2[1]*V2[1] + V2[2]*V2[2])) )
                    ) /2* 180 /PI ;
    printf("angel = %lf\r\n",angel);

    return 0;
}