C语言 · 三角形
例:
例:doule型表示数据。
/*
求三角形的外接圆心坐标:O(x,y)
三角形:a(x1,y1) b(x2,y2) c(x3,y3)
满足:A1*x+B1y=C1;A2*x+B2y=C2;
根据克拉默法则:
x=((C1*B2)-(C2*B1))/((A1*B2)-(A2*B1));
y=((A1*C2)-(A2*C1))/((A1*B2)-(A2*B1));
*/
/*
求三角形的外心的坐标:
满足:A1*x+B1y=C1;A2*x+B2y=C2;
根据克拉默法则:
x=((C1*B2)-(C2*B1))/((A1*B2)-(A2*B1));
y=((A1*C2)-(A2*C1))/((A1*B2)-(A2*B1));
*/
#include<stdio.h>
#include<math.h>
#include<string.h>
int x[],y[];
void zc(){
double a=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
double b=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
double c=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
printf("%.2lf\n",sqrt(a)+sqrt(b)+sqrt(c));
}
void mj(){
double a=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
double b=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
double c=(x[]-x[])*(x[]-x[])+(y[]-y[])*(y[]-y[]);
a=sqrt(a);
b=sqrt(b);
c=sqrt(c);
double s=(a+b+c)/;
s=s*(s-a)*(s-b)*(s-c);
printf("%.2lf\n",sqrt(s));
}
void waixin(double &a,double &b){
double A1=*(x[]-x[]);
double B1=*(y[]-y[]);
double C1=(x[]*x[]+y[]*y[]-x[]*x[]-y[]*y[]);
double A2=*(x[]-x[]);
double B2=*(y[]-y[]);
double C2=x[]*x[]+y[]*y[]-x[]*x[]-y[]*y[]; a=((C1*B2)-(C2*B1))/((A1*B2)-(A2*B1));
b=((A1*C2)-(A2*C1))/((A1*B2)-(A2*B1));
}
void zhongxin(double &c,double &d){
c=(x[]+x[]+x[])/3.0;
d=(y[]+y[]+y[])/3.0;
}
main(){
for(int i=;i<=;i++){
scanf("%ld%ld",&x[i],&y[i]);
}
zc();
mj();
double a,b;
waixin(a,b);
printf("%.2lf %.2lf\n",a,b);
double c,d;
zhongxin(c,d);
printf("%.2lf %.2lf",c,d);
}
C语言 · 三角形的更多相关文章
- C语言 · 三角形面积
算法提高 三角形面积 时间限制:1.0s 内存限制:256.0MB 问题描述 由三角形的三边长,求其面积. 提示:由三角形的三边a,b,c求面积可以用如下的公式: s=(a+b+c ...
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形 【转】
http://blog.csdn.net/xiajun07061225/article/details/7628146 以前都是用Cg的,现在改用GLSL,又要重新学,不过两种语言很多都是相通的. 下 ...
- C 语言实例 - 创建各类三角形图案
C 语言实例 - 创建各类三角形图案 创建三角形图案. 实例 - 使用 * 号 #include <stdio.h> int main() { int i, j, rows; printf ...
- C语言 · 数字三角形 · 算法训练
问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1<三角形行数≤100: ...
- 【C语言】判断三角形类型
根据输入的三角形的三边判断三角形的类型,并输出其面积和类型. #include<stdio.h> #include<stdlib.h> #include<math.h&g ...
- C语言 · 数字三角形
算法训练 数字三角形 时间限制:1.0s 内存限制:256.0MB 问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字 ...
- 用c语言打印一个三角形
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...
- 【C语言】已知三角形三边长,求三角形面积
一. 数学基础: 已知三角形的三边,计算三角形面积,需要用到海伦公式: 即p=(a+b+c)/2 二. 算法: 输入三个边长,套用海伦公式计算面积,并输出. 可以先判断是否可以构成三角形,即任意两边之 ...
- C 语言实例 - 判断三边能否构成三角形
原理: 要判断输入的三条边能否够成三角形,只需满足条件两边之和大于第三边即可. #include<stdio.h> int main() { printf("请输入三个边长:\n ...
随机推荐
- C输出大于127的ACSII字符
近期,我们的DNS服务器收到了一些异常的域名请求,从访问日志看到很多域名都被返回了FORMAT ERROR的错误码,但是访问日志中的域名看起来很正常啊,为什么会返回FORMAT ERROR的错误码呢? ...
- jsp中Undefined type: xxxx...
在测试jsp的动作元素<jsp:useBean >时,写了一个计数器的栗子: JavaBean: package com.pers.count; /** * @author liangya ...
- Web前端开发笔试&面试_02(others)
AL>> 1.CSS 3 如何实现旋转图片? 答:transform : rotate 2.写CSS 的工具? 答:LESS.SASS 3.JavaScript 倒计时? 答:setTim ...
- 移动对meta的定义(转)
以下是meta每个属性详解 尤其要注意的是content里多个属性的设置一定要用分号+空格来隔开,如果不规范将不会起作用. 一.<meta http-equiv="Content-Ty ...
- 搭建Selenium-Grid环境
转帖 在搭建Selenium-Grid之前,首先要搭建每台测试机上的Selenium环境: 安装Java 配置Java环境变量 下载ie.chrome的driver程序[如果要测试其它浏览器还需额外下 ...
- java concurrent之ReentrantLock
在编码的过程中.有时候我们不得不借助锁同步来保证线程安全.synchronizedkeyword在上一篇博客中已经介绍.自从JDK5開始,加入了还有一种锁机制:ReentrantLock. 二者的差别 ...
- hibernate validator工具类
一.相关的gradle配置文件 // https://mvnrepository.com/artifact/javax.el/javax.el-api compile group: 'javax.el ...
- gulp#4.0
gitbook教程: https://dragon8github.gitbooks.io/gulp-webpack/content/an-zhuang-gulp-4-0.html gulpfile.j ...
- 摘记—Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Cha
What a Unicode string ? The binaries in RAM have the final word. NOT string literals in Text Editor( ...
- centos 下Qt安装 mysql驱动(亲测可行)
(前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...