㈠ 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);
}
}