A. c語言,三點共線,wrong answer,找錯
#include<stdio.h>
#defineDS3
#defineD2
intmain(void)
{
inti,j,cishu;
i=j=cishu=0;
intdian[DS][D]={{0,0}};
scanf("%d",&cishu);
while(cishu>0){
for(i=0;i<DS;i++)
for(j=0;j<D;j++)
scanf("%d",&dian[i][j]);
if(dian[0][0]/dian[1][0]==dian[1][0]/dian[2][0]&&dian[0][1]/dian[1][1]==dian[1][1]/dian[2][1])
printf("YES
");
else
printf("NO
");
cishu--;
}
return0;
}
B. 編程,判斷三點共線,求指點
不需要那麼麻煩
#include<stdio.h>
intmain()
{
intx1,y1,x2,y2,x3,y3;
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
if((x2-x1)*(y3-y1)==(x3-x1)*(y2-y1))
printf("YES ");
else
printf("NO ");
return0;
}
C. 求用c++編程證明空間三點共一線,求大神們給出詳細程序!
t=(x3-x1)/(x2-x1);
if((y3-y1)/(y2-y1)==t&&(z3-z1)/(z2-z1)==t)
就是三點共一線;
否則就是三點不共線;
D. 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)
E. 怎麼判定三點共線
已知三點坐標的情況下
方法一:取兩點確立一條直線
計算該直線的解析式
代入第三點坐標 看是否滿足該解析式
方法二:設三點為A、B、C
利用向量證明:a倍AB向量=AC向量(其中a為非零實數)
方法三:利用點差法求出AB斜率和AC斜率
相等即三點共線
三點共線,數學中的一種術語,屬幾何類問題,指的是三點在同一條直線上。可以設三點為A、B、C ,利用向量證明:λAB=AC(其中λ為非零實數)。
F. c語言:編寫一個程序判斷三點共線
已測試。
#include<stdio.h>
intmain(void)
{
floatx1,y1,x2,y2,x,y;
printf("Pleaseinputthreesetsofdatas(x0,y0):");
scanf("%f,%f%f,%f%f,%f",&x1,&y1,&x2,&y2,&x,&y);
if((y1-y2)*(x-x2)==(x1-x2)*(y-y2))
printf("Yes. ");
else
printf("No. ");
return0;
}