1 条题解

  • 0
    @ 2024-11-1 16:44:54

    这道题简单到不能再简单,只要将数学学好就行了。

    解题思路

    这道题考查的是行列式,只要你知道这个公式:$S=\frac{1}{2}|x_1(y_2-y_3)+x_2(y_3-y_1)+x_3(y_1-y_2)|$,这样看来,我们只要将各个未知数用题目给出的数据替换掉,翻译成代码就变成了这样:

    double S = abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2;
    

    最后再处理保留两位小数的结果就行了。 x×12=x÷2,\because x\times\frac{1}{2}=x\div2, \therefore这个代码我就不乘1122这样操作了,比较费手。

    完整代码

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        ios::sync_with_stdio(false), cin.tie(), cout.tie();
        double x1, y1, x2, y2, x3, y3;
        cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;  // 读取输入的坐标
        // 使用公式计算三角形的面积
        double S = abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2;
        // 输出结果,精确到小数点后两位
        cout << fixed << setprecision(2) << S << endl;
        // printf("%.2f", S)
        return 0;
    }
    
    • 1

    信息

    ID
    35
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    (无)
    递交数
    33
    已通过
    11
    上传者