码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1071 - The area

时间:2016-05-27 00:48:52      阅读:141      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!