Openjudge-计算概论(A)-计算三角形面积

描述:

平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。

输入输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。输出输出也是一行,输出三角形的面积,精确到小数点后两位。样例输入

0 0 4 0 0 3

样例输出

6.00

提示:海伦公式

思路:直接用海伦公式求面积就得了,简单!(记得加头文件就OK了)

代码如下:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     double x1,x2,x3,y1,y2,y3;
 6     double a,b,c;
 7     double p,S;
 8     scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
 9     a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
10     b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
11     c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
12     p=(a+b+c)/2;
13     S=sqrt(p*(p-a)*(p-b)*(p-c));
14     printf("%.2lf\n",S);
15     return 0;
16 }
时间: 2024-10-01 07:08:41

Openjudge-计算概论(A)-计算三角形面积的相关文章

Java入门:基础算法之计算三角形面积

本部分介绍如何计算三角形面积. /** * @author: 理工云课堂 * @description: 程序计算三角形的面积.三角形的底和高由用户输入 */ import java.util.Scanner; class AreaTriangleDemo { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.println("Enter the width

计算三角形面积

double numberone, double numberTwo, double numberThree//三条边,注意两边之和大于第三编double doubleS = 0;            double doubleArea = 0;            doubleS = (numberone + numberTwo + numberThree) / 2;            doubleArea = Math.Sqrt(doubleS * (doubleS - number

zoj 1806 This Takes the Cake 计算凸四边形和三角形的面积

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=806 题意: 凸四边形上 有8个点, 4个顶点 , 和 每2个顶点的中点.经过这8个点的每一条线段,将四边形分成2份, 求这两份面积最近的面积. 分析:  枚举, 每条线段, 计算 一边面积 S(较小), 另一边 面积 s1 = sum - S  ,   找使 S / S1 最大的 面积, 即可. 代码如下: double add(double a, double

已知三点计算三角形面积

1.#转化为通过三边计算三角形面积 1 import math 2 def cal_area(p1,p2,p3): 9 a = float(math.sqrt((p2[0]-p3[0])*(p2[0]-p3[0])+(p2[1]-p3[1])*(p2[1]-p3[1]))) 10 b = float(math.sqrt((p1[0]-p3[0])*(p1[0]-p3[0])+(p1[1]-p3[1])*(p1[1]-p3[1]))) 11 c = float(math.sqrt((p1[0]-p

计算概论(A)/基础编程练习2(8题)/7:整数的个数

1 #include<stdio.h> 2 int main() { 3 int k,temp,n[3] = {0}; 4 5 // 输入k个正整数 6 scanf("%d",&k); 7 8 // 循环读入和进行算术 9 while(scanf("%d",&temp)!=EOF) { 10 switch(temp) { 11 case 1: 12 n[0]++; 13 break; 14 case 5: 15 n[1]++; 16 br

计算概论(A)/基础编程练习2(8题)/5:点和正方形的关系

1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 输入坐标 5 float x, y; 6 while(scanf("%f %f", &x, &y) != EOF) { 7 // 计算坐标点与原点的欧氏距离 8 float dist=sqrt(x*x+y*y); 9 10 /* 11 // 简单判断横坐标和纵坐标的截距abs(x).abs(y)和与原点距离dist 注意:abs(

计算概论(A)/基础编程练习2(8题)/1:求平均年龄

1 #include<stdio.h> 2 int main() { 3 // 声明与初始化 4 int n, count=1, s=0, age=0; 5 6 // 输入学生人数 7 scanf("%d", &n); 8 9 // 循环读入 加和 10 while(count<=n) { 11 scanf("%d",&age); 12 s+=age; 13 count++; 14 } 15 16 // 计算平均年龄输出 17 pr

计算概论(A)/基础编程练习(数据成分)/1:短信计费

1 #include<stdio.h> 2 int main() { 3 // 输入当月发送短信的总次数n和每次短信的字数words 4 int n,words; 5 scanf("%d",&n); 6 float price=0.0; 7 8 while(scanf("%d",&words)!=EOF) { 9 // 所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信发送 10 price+=(words%7

计算概论(A)/基础编程练习1(8题):1:大象喝水

计算概论(A)/基础编程练习1(8题)/1:大象喝水 地址:http://pkuic.openjudge.cn/base1/1/ 1 #include<stdio.h> 2 int main() { 3 /* 圆周率常数 */ 4 const float Pi = 3.14159; 5 6 /* 深h厘米 半径r厘米 均为整数 */ 7 int h, r; 8 scanf("%d %d", &h, &r); 9 10 /* 一桶水的升数 1升 = 1000毫

【北大先修课】计算概论(A)题库全代码

题目很水就是全都是坑真是丧心病狂啊 把代码留下造福后来人QωQ 结构体与链表练习 生日相同2.0 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define MAXN 200 using namespace std; struct st { int m,d; string name; bool operator&