22.求面积

描述:

思想:这里主要是分为三步来进行求解
1.计算出每一条直线的表达式

2.计算线段两两之间的交点

3.根据三个交点利用公式来计算出面积

代码:

#include <bits/stdc++.h>

using namespace std;

// 求出直线两两之间的交点,然后使用公式
// (x1,y1)、(x2,y2)、(x3,y3)
// s = 1/2|x1(y1-y2) + x2(y2-y3) + x3(y3-y1)|

// 计算两条直线的交点
pair<double, double> intersection(double A1, double B1, double C1, double A2, double B2, double C2) {
    double det = A1 * B2 - A2 * B1;
    if (det == 0) {
        throw runtime_error("Lines are parallel");
    }
    double x = (B1 * C2 - B2 * C1) / det;
    double y = (A2 * C1 - A1 * C2) / det;
    return {x, y};
}

// 计算三角形面积
double triangleArea(double x1, double y1, double x2, double y2, double x3, double y3) {
    return 0.5 * fabs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2));
}

int main() {
    // 输入点坐标
    double x11, y11, x12, y12;
    double x21, y21, x22, y22;
    double x31, y31, x32, y32;
    cin >> x11 >> y11; 
    cin >> x12 >> y12;
    cin >> x21 >> y21;
    cin >> x22 >> y22;
    cin >> x31 >> y31;
    cin >> x32 >> y32;
    // 求直线方程系数 Ax+By+C = 0;/*  */
    double A1 = y12 - y11, B1 = x11 - x12, C1 = x12 * y11 - x11 * y12;
    double A2 = y22 - y21, B2 = x21 - x22, C2 = x22 * y21 - x21 * y22;
    double A3 = y32 - y31, B3 = x31 - x32, C3 = x32 * y31 - x31 * y32;
    // 求三条直线的交点
    pair<double, double> p1 = intersection(A1, B1, C1, A2, B2, C2);
    pair<double, double> p2 = intersection(A2, B2, C2, A3, B3, C3);
    pair<double, double> p3 = intersection(A3, B3, C3, A1, B1, C1);
    // 计算三角形面积
    double area = triangleArea(p1.first, p1.second, p2.first, p2.second, p3.first, p3.second);
    // 输出面积
    cout << fixed << setprecision(6) << area << endl;
    return 0;
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个简单的Circle类的实现: ```python import math class Circle: def __init__(self, radius): self.radius = radius def get_circumference(self): return 2 * math.pi * self.radius def get_area(self): return math.pi * self.radius ** 2 ``` 然后,我们可以使用这个类创建半径为1 ~ 100的圆,并计算其周长和面积: ```python for r in range(1, 101): circle = Circle(r) print(f'半径为{r}的圆,周长为{circle.get_circumference():.2f},面积为{circle.get_area():.2f}') ``` 输出结果如下: ``` 半径为1的圆,周长为6.28,面积为3.14 半径为2的圆,周长为12.57,面积为12.57 半径为3的圆,周长为18.85,面积为28.27 半径为4的圆,周长为25.13,面积为50.27 半径为5的圆,周长为31.42,面积为78.54 半径为6的圆,周长为37.70,面积为113.10 半径为7的圆,周长为43.98,面积为153.94 半径为8的圆,周长为50.27,面积为201.06 半径为9的圆,周长为56.55,面积为254.47 半径为10的圆,周长为62.83,面积为314.16 半径为11的圆,周长为69.12,面积为380.14 半径为12的圆,周长为75.40,面积为452.39 半径为13的圆,周长为81.68,面积为530.93 半径为14的圆,周长为87.96,面积为615.75 半径为15的圆,周长为94.25,面积为706.86 半径为16的圆,周长为100.53,面积为804.25 半径为17的圆,周长为106.81,面积为907.93 半径为18的圆,周长为113.10,面积为1017.88 半径为19的圆,周长为119.38,面积为1134.12 半径为20的圆,周长为125.66,面积为1256.64 半径为21的圆,周长为131.95,面积为1385.45 半径为22的圆,周长为138.23,面积为1520.55 半径为23的圆,周长为144.51,面积为1661.93 半径为24的圆,周长为150.80,面积为1809.60 半径为25的圆,周长为157.08,面积为1963.56 半径为26的圆,周长为163.36,面积为2123.80 半径为27的圆,周长为169.65,面积2289.33 半径为28的圆,周长为175.93,面积为2460.14 半径为29的圆,周长为182.21,面积为2636.24 半径为30的圆,周长为188.50,面积为2817.62 半径为31的圆,周长为194.78,面积为3004.29 半径为32的圆,周长为201.06,面积为3196.25 半径为33的圆,周长为207.35,面积为3393.49 半径为34的圆,周长为213.63,面积为3596.02 半径为35的圆,周长为219.91,面积为3803.84 半径为36的圆,周长为226.20,面积为4016.94 半径为37的圆,周长为232.48,面积为4235.33 半径为38的圆,周长为238.76,面积为4459.01 半径为39的圆,周长为245.05,面积为4687.98 半径为40的圆,周长为251.33,面积为4922.24 半径为41的圆,周长为257.61,面积为5161.79 半径为42的圆,周长为263.90,面积为5406.63 半径为43的圆,周长为270.18,面积为5656.76 半径为44的圆,周长为276.46,面积为5912.18 半径为45的圆,周长为282.75,面积为6172.89 半径为46的圆,周长为289.03,面积为6438.89 半径为47的圆,周长为295.31,面积为6700.19 半径为48的圆,周长为301.60,面积为6966.78 半径为49的圆,周长为307.88,面积为7238.67 半径为50的圆,周长为314.16,面积为7515.84 半径为51的圆,周长为320.45,面积为7798.31 半径为52的圆,周长为326.73,面积为8086.07 半径为53的圆,周长为333.01,面积为8379.12 半径为54的圆,周长为339.30,面积为8677.46 半径为55的圆,周长为345.58,面积为8981.09 半径为56的圆,周长为351.86,面积为9290.01 半径为57的圆,周长为358.15,面积为9604.22 半径为58的圆,周长为364.43,面积为9923.73 半径为59的圆,周长为370.71,面积为10248.53 半径为60的圆,周长为377.00,面积为10578.62 半径为61的圆,周长为383.28,面积为10914.01 半径为62的圆,周长为389.56,面积为11254.70 半径为63的圆,周长为395.85,面积为11600.68 半径为64的圆,周长为402.13,面积为11951.96 半径为65的圆,周长为408.41,面积为12308.53 半径为66的圆,周长为414.70,面积为12670.40 半径为67的圆,周长为420.98,面积为13037.55 半径为68的圆,周长为427.26,面积为13410.00 半径为69的圆,周长为433.55,面积为13787.74 半径为70的圆,周长为439.83,面积为14170.77 半径为71的圆,周长为446.11,面积为14559.09 半径为72的圆,周长为452.40,面积为14952.71 半径为73的圆,周长为458.68,面积为15351.62 半径为74的圆,周长为464.96,面积为15755.83 半径为75的圆,周长为471.25,面积为16165.33 半径为76的圆,周长为477.53,面积为16580.12 半径为77的圆,周长为483.81,面积为17000.21 半径为78的圆,周长为490.10,面积为17425.59 半径为79的圆,周长为496.38,面积为17856.26 半径为80的圆,周长为502.66,面积为18292.22 半径为81的圆,周长为508.95,面积为18733.47 半径为82的圆,周长为515.23,面积为19180.01 半径为83的圆,周长为521.51,面积为19631.85 半径为84的圆,周长为527.80,面积为20088.98 半径为85的圆,周长为534.08,面积为20551.40 半径为86的圆,周长为540.36,面积为21019.11 半径为87的圆,周长为546.65,面积为21492.12 半径为88的圆,周长为552.93,面积为21970.41 半径为89的圆,周长为559.21,面积22454.00 半径为90的圆,周长为565.50,面积22942.87 半径为91的圆,周长为571.78,面积为23437.04 半径为92的圆,周长为578.06,面积为23936.50 半径为93的圆,周长为584.35,面积为24441.24 半径为94的圆,周长为590.63,面积为24951.28 半径为95的圆,周长为596.91,面积为25466.61 半径为96的圆,周长为603.20,面积为25987.23 半径为97的圆,周长为609.48,面积为26513.14 半径为98的圆,周长为615.76,面积为27044.35 半径为99的圆,周长为622.05,面积为27580.85 半径为100的圆,周长为628.33,面积为28122.64 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值