春校赛--求索溪边树下的小瓜

春校赛–求索溪边树下的小瓜 (10分)

题目内容:

“三峡畔,长江边…”小瓜哼着校歌,慢悠悠的求索溪边散步。忽然,他在求索溪旁边发现一个非常漂亮的银杏树。于是小瓜走到树下一手拉着银杏树,开始蹦蹦跳跳的围着银杏树转圈。现在设小瓜发现银杏树时,自己的位置为A(Xa,Ya),在银杏树下初始位置为B(Xb,Yb),围着银杏树(坐标为(0,0))顺时针转了K弧度,结束时小瓜的位置为C(Xc,Yc)。现在小瓜想知道自己发现银杏树时的位置A,在树下的初始位置B,与结束时的位置C形成的三角形△ABC面积S。你能编程帮助小瓜解决这个问题吗?(π取3.1415926)

输入描述

输入A点坐标,B点坐标以及弧度K(坐标为整型实数)

输出描述

围成的△ABC的面积S(结果保留小数点后两位)

输入样例

-2 0 -1 0 1.5707963

输出样例

0.50

简单的数学题,当时害怕有坑就没写,后悔。

#include"iostream"
 #include"cmath"
 #include"cstdio"
 #define PI 3.1415926
 using namespace std;
 double Xa,Xb,Ya,Yb,OA,OB,AB,Ca,AC,BC,q,S,k;
 int main()
 {
  cin >> Xa >> Ya>>Xb>>Yb>>k;
  OA = sqrt(Xa*Xa+Ya*Ya);
  OB = sqrt(Xb*Xb+Yb*Yb);
  AB = sqrt((Xa-Xb)*(Xa-Xb)+(Ya-Yb)*(Ya-Yb));
  Ca = (OA*OA+OB*OB-AB*AB)/(2*OA*OB);
  AC = sqrt(OB*OB+OA*OA-2*cos(k-acos(Ca))*OB*OA); 
  BC = sqrt(2*OB*OB-2*cos(k)*OB*OB);
  q = (AB+AC+BC)/2;                              
  S=sqrt(q*(q-AB)*(q-AC)*(q-BC));
   printf("%.2lf\n",S);
  return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值