当前位置:首页 » 编程语言 » c语言中如何表示三点不共线
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中如何表示三点不共线

发布时间: 2023-07-25 16:19:00

c语言 判断三个点是不是在一条直线上 在线等 点自定

#include"stdafx.h"
#include<stdio.h>
#include<math.h>
intmain()
{
floatx1,x2,x3,y1,y2,y3;
scanf("(%f,%f) ",&x1,&y1);
scanf("(%f,%f) ",&x2,&y2);
scanf("(%f,%f)",&x3,&y3);
if((y1-y2)/(x1-x2)==(y2-y3)/(x2-x3))
printf("在同一直线上。 ");
elseprintf("不在同一直线上。 ");
return0;
}

举例:输入

(1,2)

(2,4)

(4,8)

㈡ C语言输入三个点的坐标A(x1,y1),B(x2,y2),C(x3,y3)。判断这三个点能否构成三角形

利用两点式将任意两点构建直线方程(自己排除垂直数轴),代入第三点,若等式成立则共线,否则可以构成三角形。

㈢ 求助:c语言中的三角形问题。。

#include <stdio.h>
main()
{
int t,n,i,j,k,l,temp,a[10000][2];float s=0;scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d",&n);s=0;
for(j=0;j<n;j++) scanf("%d %d",&a[j][0],&a[j][1]);
for(j=0;j<n;j++)
{for(k=0;k<n;k++)
{if(k==j) continue;
for(l=0;l<n;l++){if(l==k||l==j) continue;
temp=(a[k][0]-a[j][0])*(a[l][1]-a[j][1])-(a[k][1]-a[j][1])*(a[l][0]-a[j][0]);
if(s<temp) s=temp;
}}}
printf("%.1f\n",s/2);
}
}