C ++ , ein Programm, eine Winkelberechnung vier Punkte bilden zwei gerade schreibt
die Ausgabeanzeige steuern können , um die Anzahl von Gleitkommazahlen stream: setprecision (n) Beschreibung. C ++ Standardwert des Ausgangsstroms ist 6 Bits.
Gegeben die Koordinaten von vier Punkten ABCD repräsentiert gerade Linien AB und CD auf der Ebene. Integer - Koordinaten sind der absolute Wert von nicht mehr als 100. Die beiden Geraden wird berechnet als die Anzahl der Grade ein spitzer Winkel ist . (Zwei Dezimalstellen)
Hinweis: Wenn zwei Geraden parallel oder zusammenfällt, ist die Antwort 0.
Testbeispiel:
Testeingang: 00100001
Erwartete Ausgabe: 90.00
Testeingang: 163.421.879.823.129
erwartete Ausgabe: 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;
}