/***************
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都做网站、桐城网络推广、成都微信小程序、桐城网络营销、桐城企业策划、桐城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供桐城建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
* 已知三点求圆的 get_circle() 函数
* x1, y1为第一个点的坐标,以此类推
* r为求出的半径,x0, y0为圆心坐标
* 调用函数之前应先检查三点是否共线 否则会弹出被零除的错误
***************/
# include math.h
void get_circle(double x1, double y1, double x2, double y2, double x3, double y3, double* r, double* x0, double* y0)
{
double m1, n1, m2, n2, a1, b1, a2, b2;
m1 = (x1 + x3) / 2;
n1 = (y1 + y3) / 2;
m2 = (x2 + x3) / 2;
n2 = (y2 + y3) / 2;
a1 = (y3 - y1) / (x3 - x1);
b1 = n1 - a1*m1;
a2 = (y3 - y2) / (x3 - x2);
b2 = n2 - a2*m2;
*x0 = (b2 - b1) / (a1 - a2);
*y0 = a1 * *x0 + b1;
*r = sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0));
return;
}
希望对你有帮助!
#include "stdafx.h"
#includestdio.h
#includemath.h
int main()
{
float x1, x2, x3, y1, y2, y3;
scanf("(%f,%f)\n", x1, y1);
scanf("(%f,%f)\n", x2, y2);
scanf("(%f,%f)", x3, y3);
if ((y1 - y2) / (x1 - x2) == (y2 - y3) / (x2 - x3))
printf("在同一直线上。\n");
else printf("不在同一直线上。\n");
return 0;
}
举例:输入
(1,2)
(2,4)
(4,8)
这个可以过!
#includestdio.h
#includemath.h
#includestdlib.h
int main( )
{
int x1,x2,x3,y1,y2,y3;
int i,j,k,h,m,n;
char c;
//while((c=getchar())!=EOF)
//{
while(scanf("%d %d %d %d %d %d",x1,y1,x2,y2,x3,y3)!=EOF)
{
i=abs(x1-x2);
h=abs(x1-x3);
k=abs(y1-y3);
n=abs(y2-y1 );
if(i*k==h*n)
{
printf("Yes\n");
}
else
printf("No\n");
}
//}
return 0;
}
不知道你的是什么算法来着....
可以看成两个直角三角形, 比较他们的比例是否一样, 不是就不成立.
#includestdio.h
#define DS 3
#define D 2
int main(void)
{
int i, j, cishu;
i = j = cishu = 0;
int dian [DS][D] ={{0,0}};
scanf("%d", cishu);
while(cishu0){
for(i=0;iDS;i++)
for(j=0;jD;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\n");
else
printf("NO\n");
cishu--;
}
return 0;
}
已测试。
#include stdio.h
int main(void)
{
float x1,y1,x2,y2,x,y;
printf("Please input three sets of datas(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.\n");
else
printf("No.\n");
return 0;
}