程序 高手进!!! 用C语言能解决这个问题吗?

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:33:57
使用结构表示X-Y平面直角坐标系上的点,编写程序顺序读入一个四边形的四个顶点坐标,判别由这四个顶点的连线构成的图形是否为正方形,矩形或其他四边形。要求定义求两个点距离的函数使用结构参数。

可以。
#include <math.h>
struct Point{double x;doulbe y;};//结构体。
Point pic[4];//四个点构成的图形
int i;
for(i=0;i<4;i++)//读入四个点坐标,其中左上为pic[0],按照顺时针计数
{scanf(" %d %d", &pic[i].x,&pic[i].y );
double distance(Point& p1,Point&p2)
{return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
//判断是否为矩形
bool rec()
{
if(distance(pic[0],pic[2])==distancer(pic[1],pic[3])&&
distance(pic[0],pic[2])*distance(pic[0],pic[2])==(distancer(pic[0],pic[1])*distance(pic[0],pic[1])+distance(pic[1],pic[2])*distance(pic[1],pic[2])))
return true;
else return false;
}
//判断是正方形
bool dec()
{if(rec()&&distance(pic[0],pic[1])==distance(pic[1],pic[2]))
return true;
else return false;
}
//其他类型就不用说了吧,不是矩形,不是正方形自然就是其他类型了

肯定可以啊!

好复杂

从来没用C语言做过

(x1,y1),(x2,y2),(x3,y3),(x4,y4)四点
//表示平面点
struct Point
{
float x;
float y;
};
//表示