首页 > 其他 > 详细

HDU 1071 - The area

时间:2016-05-27 00:47:44      阅读:280      评论:0      收藏:0      [点我收藏+]

求曲线和直线围成的面积

求表达式,求积分

 1 #include <iostream>
 2 using namespace std;
 3 double x[4],y[4];
 4 int t;
 5 double k,m;//fx1: y=kx+m
 6 double a,b,c;//fx2: y=a(x-b)^2+c
 7 void getfx1()
 8 {
 9     k=(y[3]-y[2])/(x[3]-x[2]);
10     m=y[2]-k*x[2];
11 }
12 void getfx2()
13 {
14     a=(y[2]-y[1])/(x[1]-x[2])/(x[1]-x[2]);
15     b=x[1];
16     c=y[1];
17 }
18 double getarea()
19 {
20     double f1=1.0/3*a*x[3]*x[3]*x[3]-(2*a*b+k)/2*x[3]*x[3]+(a*b*b+c-m)*x[3];
21     double f2=1.0/3*a*x[2]*x[2]*x[2]-(2*a*b+k)/2*x[2]*x[2]+(a*b*b+c-m)*x[2];
22     return f1-f2;
23 }
24 int main()
25 {
26     scanf("%d",&t);
27     while(t--)
28     {
29         for(int i=1;i<=3;i++) scanf("%lf%lf",&x[i],&y[i]);
30         getfx1();
31         getfx2();
32         printf("%.2lf\n",getarea());
33     } 
34 } 

 

HDU 1071 - The area

原文:http://www.cnblogs.com/nicetomeetu/p/5533082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!