c语言 算平行四边形面积
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/18 17:33:17
c语言 算平行四边形面积
任意输入四个点到平面内(可重合),判断能否组成平行四边形,若能,输出其面积;若不能,输出不能组成平行四边形.
任意输入四个点到平面内(可重合),判断能否组成平行四边形,若能,输出其面积;若不能,输出不能组成平行四边形.
![c语言 算平行四边形面积](/uploads/image/z/5523553-1-3.jpg?t=c%E8%AF%AD%E8%A8%80+%E7%AE%97%E5%B9%B3%E8%A1%8C%E5%9B%9B%E8%BE%B9%E5%BD%A2%E9%9D%A2%E7%A7%AF)
4个点,组成四边形,那么就是有4条边,先判断两条边的斜率,如果相同,在判断剩下的两条边的斜率,如果再相同,那么就是平行四边形
4个点组成两对平行线,就是2中情况
一、1 2组成一条线,那么3 4组成一条线.剩下1 4和2 3组成两条线
二、1 3组成一条线,那么2 4组成一条线.剩下1 4和2 3组成两条线
分别判断情况
其实就是判断斜率问题,这里说一下,斜率判断不要用除法,而要用乘法
原因是除法小数近似时比较有误差,而乘法没有误差
做一个斜率比较的子函数
int fun1(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int flag)
//这里要是vc的话,可以吧点的类传过去,flag是一个标记,标记那两条线比较
//最后返回一个数字标记那两条线的比价,不平行返回0
{
if((x1-x2)*(y3-y4)!=(x3-x4)*(y1-y2))
return 0;
return flag;
}
主函数中也比较简单的判断
int m[4],n[4],f;
int i;
//输入四个点到mn中
if(12 34点和14 23点的斜率判断)
求面积
else if(13 24点和14 23点的斜率判断)
求面积
else
不能
4个点组成两对平行线,就是2中情况
一、1 2组成一条线,那么3 4组成一条线.剩下1 4和2 3组成两条线
二、1 3组成一条线,那么2 4组成一条线.剩下1 4和2 3组成两条线
分别判断情况
其实就是判断斜率问题,这里说一下,斜率判断不要用除法,而要用乘法
原因是除法小数近似时比较有误差,而乘法没有误差
做一个斜率比较的子函数
int fun1(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int flag)
//这里要是vc的话,可以吧点的类传过去,flag是一个标记,标记那两条线比较
//最后返回一个数字标记那两条线的比价,不平行返回0
{
if((x1-x2)*(y3-y4)!=(x3-x4)*(y1-y2))
return 0;
return flag;
}
主函数中也比较简单的判断
int m[4],n[4],f;
int i;
//输入四个点到mn中
if(12 34点和14 23点的斜率判断)
求面积
else if(13 24点和14 23点的斜率判断)
求面积
else
不能