已知三角形三边长求面积

不知道有没有问题……

#include<stdio.h>
#include<math.h>
#include<conio.h>
float areatri(float a,float b,float    c);
float main()
{
    float a,b,c;
    float s;
    char d;
loop:
    printf("输入三角形三边长,以空格隔开\n");
    scanf("%f %f %f",&a,&b,&c);
    s=areatri(a,b,c);
    if(s<=0)
        printf("error~\n");
    else
        printf("area=%f\n",s);
    printf("按1开始新计算,按2退出\n");
    scanf("%c",&c);
    d=getch();
    if(d==‘1‘)
        goto loop;
    if(d==‘2‘)
        ;
}
float areatri(float a,float b,float    c)
{
    float s,p;
    if(a>0&&b>0&&c>0)
    {
        p=0.5*(a+b+c);
        s=sqrt(p*(p-a)*(p-b)*(p-c));
        return s;
    }
}
时间: 2024-09-29 13:32:52

已知三角形三边长求面积的相关文章

已知正方形对角线两点求另外两点

正方形,已知 (x0,y0) 和(x2,y2)  可以根据下列关系求(x1,y1),(x3,y3) x1+x3 = x0+x2; x1-x3  =  y2-y0; y1+y3 =  y0+y2; y1-y3 =  x0-x2; node[0].p[1].x = ((node[0].p[0].x+node[0].p[2].x)+(node[0].p[2].y-node[0].p[0].y))/2; node[0].p[1].y = ((node[0].p[0].y+node[0].p[2].y)+

已知空间三点组成的面求该面上某点的Z值

已知空间三点,那么可以就可以确定空间三点组成的平面.此时可以根据某一点的X值和Y值,来求取该点在平面上的Z值.这个过程对于求三角面片上某点的高程或者权值特别有用,其本身也可以看作一种线性插值. 其算法思路也特别简单,首先算出其三点组成的平面法向量(可参看<已知三点求平面法向量>);然后根据平面法向量\(n=(A,B,C)\)和平面上某点\(m=(x0,y0,z0)\),有平面的点法式方程: \[ A(X-x0)+B(Y-y0)+C(Z-z0)=0 \] 最后根据欲求点的X.Y值,代入公式解算Z

已知一个数组,求数组中心元素

/** * */package Student_System;import java.util.*;import java.util.*;/**Homework11 * *Homework1101 *已知一个数组,求数组中心元素 * @author 读你一世 * * QQ: 1816274408 *2017年4月11日上午10:25:03 * */public class Homework1101 { public static void main(String[] args){ Scanner

已知直线上两点求直线的一般式方程

一般式方程在计算机领域的重要性 常用的直线方程有一般式 点斜式 截距式 斜截式 两点式等等.除了一般式方程,它们要么不能支持所有情况下的直线(比如跟坐标轴垂直或者平行),要么不能支持所有情况下的点(比如x坐标相等,或者y坐标相等).所以一般式方程在用计算机处理二维图形数据时特别有用. 已知直线上两点求直线的一般式方程 已知直线上的两点P1(X1,Y1) P2(X2,Y2), P1 P2两点不重合.则直线的一般式方程AX+BY+C=0中,A B C分别等于: A = Y2 - Y1 B = X1

已知前序中序求后序-二叉树

writer:pprp 思路很容易理解,但是实现还是有一点难度,容易错 参考书目:<算法竞赛宝典> 代码如下: //已知前序中序,求后序 #include <iostream> using namespace std; //a是前序,b是中序 void hwg(string a,string b) { int ll,lr; for(unsigned int i = 0; i < b.length(); i++) { if(a[0] == b[i]) //找到根节点 { ll

codeforces1c给出三点求面积

题意:有一个正n边形的斗兽场,现存有3根柱子,柱子位于正n边形的任意3个节点上.求出正n边形的最小面积. 1 #include <iostream> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <math.h>//采用三角函数大部分使用弧度 5 #include <utility> 6 #include <algorithm> 7 using namespace std;

已知空间三个点,解算外接圆圆心坐标,C++编程实现

struct PT3 { double x, y, z; }; int solveCenterPointOfCircle(std::vector<PT3> pt, double centerpoint[]) { double a1, b1, c1, d1; double a2, b2, c2, d2; double a3, b3, c3, d3; double x1 = pt[0].x, y1 = pt[0].y, z1 = pt[0].z; double x2 = pt[1].x, y2 =

HLG2040二叉树遍历已知前中,求后

二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 users) Rating: Special Judge: No Description 给出一棵二叉树的中序和前序遍历,输出它的后序遍历. Input 本题有多组数据,输入处理到文件结束. 每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点. 接下来的一行每行包括n个整数,表示这棵树的中序遍

[无需建树]已知前序或后序和中序遍历结果,输出前序或后序或层次遍历的方法汇总

最近刷PAT老是碰到这种憨批题目,这种题目在算法面试中也是常客了,主要分为4类 已知前序 中序,求后序 已知前序 中序,求层次 已知后序 中序,求前序 已知前序 中序,求层次 而这四种题目如果要做出来的话,通通不需要建树,因为建树也是按照一定的递归顺序来的,就算是层次遍历,也可以在递归途中保存一些信息来获得. 我们先给出一颗二叉树 可以得到以下信息 前序:4,1,3,2,6,5,7 中序:1,2,3,4,5,6,7 后序:2,3,1,5,7,6,4 层次:4,1,6,3,5,7,2 前序&中序-