#include
#include <math.h>
using namespace std;
double length(int x1, int y1, int x2, int y2)
{
double dx = (double)x1 - (double)x2;
double dy = (double)y1 - (double)y2;
return sqrt(pow(dx, 2) + pow(dy, 2));
}
bool triangle(int x1,int y1,int x2,int y2,int x3,int y3)
{
double l1 = length(x1, y1, x2, y2);
double l2 = length(x1, y1, x3, y3);
double l3 = length(x3, y3, x2, y2);
if (l1 + l2 > l3 && l2 + l3 > l1 && l1 + l3 > l2)
return true;
else
return false;
}
double circumference(double l1, double l2, double l3)
{
return l1 + l2 + l3;
}
double area(double a,double b,double c)
{
double s = (a + b + c) / 2;
return sqrt(s*(s-a)(s-b)(s-c));
}
void test()
{
cout << "请输入三个点的坐标:" << endl;
int x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double a = length(x1,y1,x2,y2);
double b = length(x1, y1, x3, y3);
double c = length(x3, y3, x2, y2);
if (triangle(x1,y1,x2,y2,x3,y3))
cout << "周长为:" << circumference(a, b, c) << " 面积为 :" << area(a, b, c) << endl;
else
cout << "Impossible" << endl;
}
int main()
{
test();
}
#include <math.h>
#include <string>
typedef struct point
{
/* data */
int x;
int y;
};
int getLength(point a, point b);
bool isSJX(int a, int b, int c);
int main(int agrc, char** argv)
{
point a, b,c;
a.x = atoi(argv[1]);
a.y = atoi(argv[2]);
b.x = atoi(argv[3]);
b.y = atoi(argv[4]);
c.x = atoi(argv[5]);
c.y = atoi(argv[6]);
int ablen, bclen, aclen;
ablen = getLength(a,b);
bclen = getLength(b,c);
aclen = getLength(a,c);
int s = (ablen + bclen + aclen) / 2;
int area = sqrt(s*(s-ablen)*(s-bclen)* (s-aclen));
if(isSJX(ablen, bclen, aclen))
{
printf("周长: %d,面积: %d\n", s*2, area);
}
else
{
printf("Impossible\n");
}
}
int getLength(point a, point b)
{
return sqrt(abs((a.x - b.x)* (a.x -b.x)) + ((a.y - b.y)* (a.y-b.y)));
}
bool isSJX(int a, int b, int c)
{
bool bBack;
a+b > c?(a + c > b?(b+c> a?bBack = true:bBack = false) :bBack = false):bBack = false;
return bBack;
}
编译:
g++ -o main 源.cpp
./main 33 33 33 66 55 44
如果有帮助请采纳