El ángulo entre dos líneas rectas

C ++ escribir un programa, un cálculo del ángulo de cuatro puntos que constituyen dos recta
setprecision (n) Descripción: corriente puede controlar la visualización de salida el número de números de punto flotante. C ++ valor predeterminado de la corriente de salida es de 6 bits significativos.
Dadas las coordenadas de cuatro puntos ABCD, representan líneas rectas AB y CD en el avión. coordenadas enteras son el valor absoluto de no más de 100. Las dos líneas rectas se calcula como el número de grados es un ángulo agudo. (Dos decimales)
Nota: Cuando dos líneas rectas paralelas o coincidentes, la respuesta es 0.
: Ejemplo de Ensayo
entrada Test: 00100001
Resultados previstos: 90.00
Prueba de entrada: 163.421.879.823.129
espera de salida: 75.36

#include<iostream>
#include<cmath>
#include<iomanip>
#define pi 3.1415926;
using namespace std;
int main()
{    
    double x1,y1,x2,y2,x3,y3,x4,y4;
    long double x,y;
    cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
    x=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
    y=(x3-x4)*(x3-x4)+(y3-y4)*(y3-y4);
    long double s1,s2;
    s1=sqrt(x);
    s2=sqrt(y);
    long double s3;
    s3=(x2-x1)*(x4-x3)+(y2-y1)*(y4-y3);
    long double s4;
    s4=abs(s3);
    long double ans,ans2;
    ans2=s4/(s1*s2);
    ans=acos(ans2);
    long  double ans3;
    ans3=(180*ans)/pi;
    cout<<fixed<<setprecision(2)<<(long double)ans3;
    return 0;
}
Publicados 102 artículos originales · ganado elogios 93 · vistas 4983

Supongo que te gusta

Origin blog.csdn.net/huangziguang/article/details/104574951
Recomendado
Clasificación