hdu1071--The area

本文介绍了一种通过编程方式计算由抛物线和直线所围成区域面积的方法。利用抛物线和直线的系数公式及简单积分运算,实现对特定几何图形面积的精确计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用到求抛物线系数公式,直线系数公式,再用简单积分来求面积。

 

注意:

做这类精度题目要小心

计算公式时能不用中间变量就不用,

虽然代码会明显增长,可是可以提高精度

在做这道题目时,我就花了很多时间在公式的优化上。

源代码如下:

 

#include<stdio.h>
int main()
{
 double p1x,p2x,p3x,p1y,p2y,p3y;
 double a,b,c,k,m,result,x;
 int t;
 scanf("%d",&t);
 while(t--)
 {
  scanf("%lf%lf",&p1x,&p1y);
  scanf("%lf%lf",&p2x,&p2y);
  scanf("%lf%lf",&p3x,&p3y);
  a=(p2y-p1y)/((p2x-p1x)*(p2x-p1x));
  b=-2*p1x*(p2y-p1y)/((p2x-p1x)*(p2x-p1x));
  c=p1y-p1x*p1x*(p2y-p1y)/((p2x-p1x)*(p2x-p1x))+2*p1x*p1x*(p2y-p1y)/((p2x-p1x)*(p2x-p1x));
  k=(p3y-p2y)/(p3x-p2x);
  m=p3y-p3x*(p3y-p2y)/(p3x-p2x);
  x=p3x-p2x;
  result=a*p3x*p3x*p3x/3+0.5*(b-k)*p3x*p3x+(c-m)*p3x-a*p2x*p2x*p2x/3-0.5*(b-k)*p2x*p2x-(c-m)*p2x;
  printf("%.2lf\n",result);
 }

}

 

转载于:https://www.cnblogs.com/pandy/archive/2008/10/24/1318400.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值