编写程序,定义一个三角形结构体类型,然后定义一个三角形变量,通过键盘输入三角形变量的三个顶点的横坐标和纵坐标,计算并输出三角形的面积。

编写程序,定义一个三角形结构体类型,然后定义一个三角形变量,通过键盘输入三角形变量的三个顶点的横坐标和纵坐标,计算并输出三角形的面积。


#include <iostream>
#include <math.h>
using namespace std;
struct Triangele 
{
    double x1,x2,x3,y1,y2,y3;
};

int main()
{
    Triangele tr;
    cin >> tr.x1 >> tr.y1 >> tr.x2>>tr.y2 >> tr.x3>>tr.y3;
    double a = sqrt( (tr.x1 - tr.x2) *(tr.x1 - tr.x2) + (tr.y1 - tr.y2) * (tr.y1 - tr.y2)  );
    double b = sqrt( (tr.x1 - tr.x3) *(tr.x1 - tr.x3) + (tr.y1 - tr.y3) * (tr.y1 - tr.y3)  );
    double c = sqrt( (tr.x3 - tr.x2) *(tr.x3 - tr.x2) + (tr.y3 - tr.y2) * (tr.y3 - tr.y2)  );

    if(a+b>c && a+c>b && b+c>a)
    {
        double p = (a+b+c)/2;
        double s = sqrt(p*(p-a)*(p-b)*(p-c));
        cout << s<<endl;
    }else
        cout << "无法构成三角形"<<endl;
    
    return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
struct Rect {
    double x1, y1, x2, y2, x3, y3;
    double s;
};
int main() {
    struct Rect r;
    double a, b, c, p;
    cout << "输入第一个点的坐标:";
    cin >> r.x1 >> r.y1;
    cout << "输入第二个点的坐标:";
    cin >> r.x2 >> r.y2;
    cout << "输入第三个点的坐标:";
    cin >> r.x3 >> r.y3;
    a = sqrt((r.x1 - r.x2) * (r.x1 - r.x2) + (r.y1 - r.y2) * (r.y1 - r.y2));
    b = sqrt((r.x1 - r.x3) * (r.x1 - r.x3) + (r.y1 - r.y3) * (r.y1 - r.y3));
    c = sqrt((r.x2 - r.x3) * (r.x2 - r.x3) + (r.y2 - r.y3) * (r.y2 - r.y3));
    if(a + b > c && a + c > b && b + c > a) {
        p = (a + b + c) / 2;
        r.s = sqrt(p * (p - a) * (p - b) * (p - c));
        cout << "三角形面积:" << r.s;
    } else {
        cout << "不能构成三角形";
    }
    return 0;
}

img



 觉得有用的话采纳一下哈