编写程序,定义一个三角形结构体类型,然后定义一个三角形变量,通过键盘输入三角形变量的三个顶点的横坐标和纵坐标,计算并输出三角形的面积。
#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;
}