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;
}