#include #include double deg2rad(double deg) { return (deg * M_PI / 180); } double rad2deg(double rad) { return (rad * 180 / M_PI); } int main() { double alat,along=174.681821,blat,blong=174.668494,adiff,bdiff,cosdist,rdist,nautical_miles; alat = deg2rad(-34.788889); blat = deg2rad(-36.785127); adiff = blong - along; if (adiff > 180) { adiff -= 360; } if (adiff < -180) { adiff += 360; } bdiff = deg2rad(adiff); cosdist = (sin(alat) * sin(blat) + cos(alat) * cos(blat) * cos(bdiff)); rdist = acos(cosdist); nautical_miles = abs(rad2deg(rdist) * 60.); printf("nautical_miles = %lf\n",nautical_miles); }