【c语言】三角形外心坐标
2014-09-20 14:57
155 查看
新学期第一个算法大作业就好坑爹。。。
要计算三角形外接圆。。。做模板用吧
要计算三角形外接圆。。。做模板用吧
# include<stdio.h> # include<math.h> double X1,Y1,X2,Y2,X3,Y3,x4,y4,length1,length2,length3; int a; void myprintf(double x1,double y1,double x2,double y2,double x3,double y3) { char ch; printf("输入第一个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); while(scanf("(%lf,%lf)",&X1,&Y1)!=2) { while((ch=getchar())!='\n') { continue; } printf("输入有误,请重新输入第一个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); } while((ch=getchar())!='\n') { continue; } printf("输入第二个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); while(scanf("(%lf,%lf)",&X2,&Y2)!=2) { while((ch=getchar())!='\n') { continue; } printf("输入有误,请重新输入第二个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); } while((ch=getchar())!='\n') { continue; } printf("输入第三个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); while(scanf("(%lf,%lf)",&X3,&Y3)!=2) { while((ch=getchar())!='\n') { continue; } printf("输入有误,请重新输入第三个点的坐标值,横纵坐标用逗号隔开(如(0,0)):"); } while((ch=getchar())!='\n') { continue; } } void main() { myprintf(X1,Y2,X2,Y2,X3,Y3); length1=sqrt(pow(X1-X2,2)+pow(Y1-Y2,2)); length2=sqrt(pow(X1-X3,2)+pow(Y1-Y3,2)); length3=sqrt(pow(X2-X3,2)+pow(Y2-Y3,2)); while((length1>=length2+length3)||(length2>=length1+length3)||length3>=length1+length2) { printf("输入的三个点不能构成三角形,请重新输入\n"); myprintf(X1,Y2,X2,Y2,X3,Y3); length1=sqrt(pow(X1-X2,2)+pow(Y1-Y2,2)); length2=sqrt(pow(X1-X3,2)+pow(Y1-Y3,2)); length3=sqrt(pow(X2-X3,2)+pow(Y2-Y3,2)); } x4=(pow(X2,2)*Y1-pow(X3,2)*Y1-pow(X1,2)*Y2+pow(X3,2)*Y2-pow(Y1,2)*Y2+pow(Y2,2)*Y1+pow(X1,2)*Y3-pow(X2,2)*Y3+pow(Y1,2)*Y3-pow(Y2,2)*Y3-pow(Y3,2)*Y1+pow(Y3,2)*Y2)/(2*(X2*Y1-X3*Y1-X1*Y2+X3*Y2+X1*Y3-X2*Y3)); y4=-(-pow(X1,2)*X2+pow(X2,2)*X1+pow(X1,2)*X3-pow(X2,2)*X3-pow(X3,2)*X1+pow(X3,2)*X2-pow(Y1,2)*X2+pow(Y1,2)*X3+pow(Y2,2)*X1-pow(Y2,2)*X3-pow(Y3,2)*X1+pow(X3,2)*X2)/(2*(X2*Y1-X3*Y1-X1*Y2+X3*Y2+X1*Y3-X2*Y3)); printf("此三角形外心坐标为(%lf,%lf)\n",x4,y4); }
相关文章推荐
- 三角形已知三个点坐标,求外心坐标的公式
- C语言平面几何16-三角形的外心和外接圆
- 【进化版】三角形外心坐标和外接圆半径
- 算法提高 12-1三角形 外心坐标
- 坐标求三角形类
- 三角形ABC的顶点坐标,判断三角形ABC是否直角三角形
- 【c语言】给出三角形的三边长,求三角形面积
- 根据三边长度判断三角形的形状 c语言
- 【C语言小练习】找出给定的底边长度为5的三角形的矩阵,找规律,输出底边长度为10的三角形矩阵。
- c语言:从一组数据中选出可以组成三角形并且周长最长的三个数(简单)
- 第十一周—C语言 oj上机题目(输出空心三角形)(函数的调用)
- C语言输出正三角形
- c语言自动绘制任意大小等腰三角形
- poj 2954 皮克定理(求三角形内部的整数坐标数)
- poj1266Cover an Arc.(三角形的外心)
- C语言实现三角形类型判断
- 已知三角形三点坐标,求三角形的面积(二维和三维)
- C语言 指教坐标转换为极坐标