判断正方形
2016-03-16 14:53
155 查看
随机输入四个点坐标,判断是否为正方形
编写一个程序,输入为平面上的四个点A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4)编写程序判断这四个点能不能组成一个正方形,可以只说思路,不用写代码.
编写一个程序,输入为平面上的四个点A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4)编写程序判断这四个点能不能组成一个正方形,可以只说思路,不用写代码.
#include <iostream> using namespace std; int main() { int point[4][2] = {0};//存储点坐标 int dis[10] = {0}; //存储距离 int i,j,D; for(i = 0;i < 4;i++) //输入点坐标 { for(j = 0;j < 2;j++) { cin>>point[i][j]; } } int size = 0; //边长不同的边的数目,初始化为0 for(i = 0;i < 3;i++) { for(j = i + 1;j < 4;j++) { D = (point[i][0] - point[j][0])*(point[i][0] - point[j][0]) + (point[i][1] - point[j][1])*(point[i][1] - point[j][1]);//存储的是边的长度的平方 if(D == dis[0]||D == dis[1]) //如果该边长已存在,则跳出本次循环,执行下一次循环 { continue; } else //若果没有出现,则存储 { dis[size++] = D; } } } if(size > 2) //如果存在三条以上的边则不是正方形 { cout<<"No"<<endl; } else if(size == 2) //如果只存在两条边 { if(dis[0] + dis[0] == dis[1] ||dis[1] + dis[1] == dis[0])//正方形的边的平方的和等于对角线的平方,则为正方形 { cout<<"Yes"<<endl; } else { cout<<"no"<<endl; } } return 0; }
相关文章推荐
- Android--异步消息处理机制
- [国嵌攻略][150][实际嵌入式系统环境搭建]
- IBM Security Appscan漏洞--存储的跨站点脚本编制
- 沫沫金:JQuery批量选择/取消,诡异问题【第一次正常,第二次失效】
- 算法_冒泡排序算法
- 快速搭建Web环境 Angularjs + Express3 + Bootstrap3
- smartsvn解决冲突的方法
- mysql 创建 用户 授权
- Android时间轴简单优化
- 【算法】-8大排序算法总结-Python
- 代码重构(1)
- 蓝桥杯练习——十进制转十六进制
- mysql 查看是否存在某一张表
- CUBRID学习笔记 10 数据库文件的类型和含义
- 面试问题总结
- 循序渐进开发WinForm项目(6)--开发使用混合式Winform模块
- File文件的基本属性
- 全栈学习计划-博客开发
- 线性代数: 求解齐次线性方程组,列出步骤
- Angular.watch性能问题和ngInfiniteScroll